Linux shell lha 命令
Linux shell lha 命令用于压缩或解压缩文件。
lha 是从 lharc 演变而来的压缩程序,文件经它压缩后,会另外产生具有 .lzh
扩展名的压缩文件。
MacOS 和 最新版 CentOS 系统默认已经不带 lha 命令
MacOS 上可以使用
brew install lha
安装 lha 命令
lha 命令语法
lha [-acdfglmnpqtuvx] [-a <0/1/2>/u</0/1/2>] [-<a/c/u>d][-<e/x>i][-<a/u>o][-<e/x>w=<目的目录>][-<a/u>z][压缩文件][文件/目录...]
[选项]
选项 | 参数 |
---|---|
-a a |
压缩文件,并加入到压缩文件内 |
-a<0/1/2>/u</0/1/2> | 压缩文件时,采用不同的文件头 |
-c c |
压缩文件,重新建构新的压缩文件后,再将其加入 |
-d d |
从压缩文件内删除指定的文件 |
-d d |
压缩文件,然后将其加入,重新建构,更新压缩文件或,删除原始文件,也就是把文件移到压缩文件中 |
-e e |
解开压缩文件 |
-f f |
强制执行lha命令,在解压时会直接覆盖已有的文件而不加以询问 |
-g g |
使用通用的压缩格式,便于解决兼容性的问题 |
- |
解开压缩文件时,忽略保存在压缩文件内的文件路径,直接将其解压后存放在现行目录下或是指定的目录中 |
-l l |
列出压缩文件的相关信息 |
-m m |
此参数的效果和同时指定"-ad"参数相同 |
-n n |
不执行指令,仅列出实际执行会进行的动作 |
-o o |
采用lharc兼容格式,将压缩后的文件加入,更新压缩文件 |
-p p |
从压缩文件内输出到标准输出设备 |
-q q |
不显示指令执行过程 |
-t t |
检查备份文件内的每个文件是否正确无误 |
-u u |
更换较新的文件到压缩文件内 |
-u0/1/2> u0/1/2> |
在文件压缩时采用不同的文件头,然后更新到压缩文件内 |
-v v |
详细列出压缩文件的相关信息 |
- |
指定解压缩的目录 |
-x x |
解开压缩文件 |
-z z |
不压缩文件,直接把它加入,更新压缩文件 |
范例
1. 压缩文件
压缩 demo.sh 文件,生成 demo.lhz 文件
[root@localhost shell]# ls demo.cpp demo.sh demo1.sh demo2.sh main.c [root@localhost shell]# lha -a demo.lhz demo.sh demo.sh - Frozen(95%) o [root@localhost shell]# ls demo.cpp demo.lhz demo.sh demo1.sh demo2.sh main.c
2. 压缩目录
压缩 man
目录保存为当前目录下名为 man.lhz
的文件
[root@localhost shell]# mkdir man [root@localhost shell]# cp *.sh man [root@localhost shell]# lha -a man.lhz ./man ./man/ - Frozen(0%) ./man/demo.sh - Frozen(95%) o ./man/demo1.sh - Frozen(97%) o ./man/demo2.sh - Frozen(87%) o
3. 解压文件
解压 man.lhz
文件到 agis
目录
[root@localhost shell]# lha -xiw=agis ./man.lhz [root@localhost shell]# ls agis demo.cpp demo.lhz demo.sh demo1.sh demo2.sh main.c man man.lhz [root@localhost shell]# ls agis demo.sh demo1.sh demo2.sh