Linux lha 命令
Linux lha 命令用于压缩或解压缩文件。
lha 是一个在 Linux 系统中用于处理
.lzh
和
.lha
压缩文件的命令行工具。它最初是为处理日本流行的 LHA 压缩格式而开发的,现在仍然在某些特定场景下使用。
主要特点
- 支持压缩和解压缩
.lzh
和 .lha
格式文件
- 兼容旧的 DOS/Windows 压缩文件
- 轻量级,适合资源有限的环境
- 保留文件原始属性(如时间戳)
安装 lha 工具
在大多数 Linux 发行版中,lha 不是预装工具,需要手动安装:
Ubuntu/Debian 系统
实例
sudo apt-get updatesudo apt-get install lha
CentOS/RHEL 系统
实例
sudo yum install lha
验证安装
实例
lha
--version
基本命令语法
lha 命令的基本语法格式为:
实例
lha
[选项
] 命令 压缩文件
[文件
/目录...
]
常用命令参数
| 命令 |
说明 |
| a |
添加文件到压缩包 |
| e |
解压文件(不保留路径) |
| x |
解压文件(保留完整路径) |
| l |
列出压缩包内容 |
| t |
测试压缩包完整性 |
| d |
从压缩包删除文件 |
常用选项参数
| 选项 |
说明 |
| -v |
显示详细操作信息 |
| -q |
安静模式(不显示输出) |
| -f |
强制执行操作 |
| -x |
允许扩展属性 |
| -p |
保留文件权限 |
使用示例
1. 创建压缩文件
将目录
project
压缩为
project.lzh
:
实例
lha a project.lzh project
/
添加多个文件和目录:
实例
lha a archive.lzh file1.txt file2.txt dir1
/
2. 列出压缩包内容
查看
archive.lzh
中的文件列表:
实例
lha l archive.lzh
输出示例:
PERMISSION UID GID SIZE RATIO STAMP NAME
---------- ----------- ------- ------ ------------ --------------------
-rw-r--r-- 1000/1000 1024 65.3% May 15 10:00 file1.txt
-rw-r--r-- 1000/1000 2048 70.1% May 15 10:05 file2.txt
drwxr-xr-x 1000/1000 0 0.0% May 15 09:55 dir1/
3. 解压文件
解压到当前目录(不保留路径):
实例
lha e archive.lzh
解压并保留完整路径结构:
实例
lha x archive.lzh
解压特定文件:
实例
lha e archive.lzh file1.txt
4. 测试压缩包完整性
实例
lha t archive.lzh
5. 从压缩包删除文件
删除
archive.lzh
中的
file1.txt
:
实例
lha d archive.lzh file1.txt
高级用法
1. 分卷压缩
创建分卷压缩(每卷1MB):
实例
lha
-v -s1024k a archive.lzh large_dir
/
2. 设置压缩级别
指定压缩级别(0-5,默认2):
实例
lha
-2 a archive.lzh files
/ # 较高压缩率
lha
-0 a archive.lzh files
/ # 仅存储,不压缩
3. 排除特定文件
使用
-x
排除文件:
实例
lha a -x
*.tmp archive.lzh dir
/
常见问题解答
Q1: lha 和 zip/gzip 有什么区别?
- lha 是专门处理
.lzh/.lha
格式的工具
- 压缩率通常不如 gzip/bzip2
- 主要优势是兼容旧的日本系统文件
Q2: 如何解压密码保护的 .lzh 文件?
lha 本身不支持密码保护,需要使用其他工具如
unar
:
实例
unar
-p password protected.lzh
Q3: 为什么我的 lha 命令不起作用?
可能原因:
- 未安装 lha 工具(参考安装部分)
- 文件权限问题(尝试使用 sudo)
- 压缩文件损坏(使用
lha t
测试)
最佳实践建议
-
兼容性考虑:只在需要处理旧系统文件时使用 lha,新项目建议使用更通用的 zip 或 tar.gz
-
脚本中使用:添加
-q
选项避免输出干扰:
实例
lha
-q a backup.lzh
/path
/to
/files
-
结合 find 使用:压缩特定类型的文件
实例
find .
-name "*.txt" -exec lha a textfiles.lzh
{} +
-
备份场景:保留文件属性
实例
lha
-p a backup.lzh important_dir
/
替代方案
虽然 lha 有其特定用途,但现代 Linux 系统更常用这些工具:
| 工具 |
格式 |
特点 |
| tar |
.tar |

仅打包,不压缩 |
| gzip |
.gz |
高压缩比 |
| bzip2 |
.bz2 |
更高压缩比,速度较慢 |
| xz |
.xz |
极高压缩比 |
| zip |
.zip |
跨平台兼容 |
| 7z |
.7z |
多种压缩算法支持 |