橘子味的心
标题: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
使用通用的压缩格式,便于解决兼容性的问题
-i
i
解开压缩文件时,忽略保存在压缩文件内的文件路径,直接将其解压后存放在现行目录下或是指定的目录中
-l
l
列出压缩文件的相关信息
-m
m
此参数的效果和同时指定"-ad"参数相同
-n
n
不执行指令,仅列出实际执行会进行的动作
-o
o
采用lharc兼容格式,将压缩后的文件加入,更新压缩文件
-p
p
从压缩文件内输出到标准输出设备
-q
q
不显示指令执行过程
-t
t
检查备份文件内的每个文件是否正确无误
-u
u
更换较新的文件到压缩文件内
-u
u
在文件压缩时采用不同的文件头,然后更新到压缩文件内
-v
v
详细列出压缩文件的相关信息
-w=<目的目录>
w=<目的目录>
指定解压缩的目录
-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

返回上一级

目录

分类