Linux lha
命令详解
一、命令简介
lha
是 Linux 中用于处理 .lzh
(LHA 格式)压缩文件的命令行工具。LHA 是一种源自日本的老牌压缩格式,广泛用于早期 DOS、Windows、Amiga 和日本 PC-98 系统,在 Linux 中不常见,但仍可用于解压旧档案或跨平台兼容。
该命令支持 .lzh
压缩文件的**压缩(archive)、解压(extract)、列出内容(list)**等操作,虽然其压缩率和速度不及现代算法(如 gzip
、xz
),但在复古软件或某些嵌入式环境中仍有用途。
📦
.lzh
文件类似.zip
,但格式完全不同。
二、命令语法
lha [选项] 压缩文件 [目标文件或目录]
例如:
lha e archive.lzh
三、常用选项(命令子模式)
模式 | 作用说明 |
---|---|
a | 添加文件到 .lzh 压缩档(Archive) |
e | 解压文件(Extract)到当前目录 |
x | 解压并保留原目录结构 |
l | 列出 .lzh 压缩档内容 |
v | 列出详细内容(Verbose list) |
d | 删除压缩档内文件 |
u | 更新 .lzh 中的文件 |
q | 快速添加文件到 .lzh |
r | 替换 .lzh 中的文件 |
lha
的选项模式类似tar
,以单个字母表示操作方式。
四、使用示例详解
1. 解压 .lzh
文件到当前目录
lha e file.lzh
-
会将压缩包中文件提取到当前目录(不保留子目录结构)。
2. 解压并保留原始目录结构
lha x file.lzh
-
如果
.lzh
中有子目录结构,则完整还原。
3. 查看 .lzh
文件内容
lha l file.lzh
示例输出:
Length Date Time Name
------- -------- ----- ------
2048 2020/01/01 12:00 readme.txt
4096 2020/01/01 12:00 docs/manual.txt
4. 详细列出文件信息
lha v file.lzh
比 l
提供更多文件权限、时间戳等信息。
5. 创建 .lzh
压缩文件
lha a newarchive.lzh file1.txt file2.txt
将多个文件压缩为 .lzh
格式的归档文件。
6. 添加新文件到已有 .lzh
中
lha r archive.lzh update.txt
如同更新操作,如果已有同名文件则替换。
7. 删除 .lzh
中的某个文件
lha d archive.lzh unwanted.txt
五、安装方式
在多数 Linux 发行版中默认未安装 lha
,需要手动安装:
Debian/Ubuntu:
sudo apt install lha
RHEL/CentOS(需要 EPEL 源):
sudo yum install lha
Arch Linux:
sudo pacman -S lha
六、LHA 格式简介
项目 | 说明 |
---|---|
扩展名 | .lzh 、.lha |
算法 | LHARC(Lempel–Ziv + Huffman) |
压缩率 | 中等偏低 |
主要用途 | 老旧游戏资源包、日本软件发行包 |
支持平台 | DOS, Windows, Linux, Amiga, PC-98 等 |
许多日本老软件、字库、模拟器 ROM 等资料仍使用
.lzh
。
七、与其他压缩工具对比
工具 | 支持压缩 | 支持解压 | 主流支持度 | 特点 |
---|---|---|---|---|
lha | ✅ | ✅ | 较低 | 兼容 .lzh 旧格式 |
gzip | ✅ | ✅ | ✅✅✅ | 主流标准,速度快 |
bzip2 | ✅ | ✅ | ✅✅ | 高压缩比 |
xz | ✅ | ✅ | ✅✅ | 极高压缩比,较慢 |
zip / unzip | ✅ | ✅ | ✅✅✅ | 多平台通用 |
tar | ✅ | ✅ | ✅✅✅ | 打包工具,常与其他压缩结合 |
八、适用场景
场景 | 示例 |
---|---|
解压旧 .lzh 安装包 | 日本 retro 软件资源 |
模拟器 BIOS 文件提取 | PC-98、X68000 等平台 |
处理 DOS 年代备份数据 | 老旧备份归档解析 |
开发跨平台 LZH 解包功能 | 嵌入式设备软件维护 |
九、常见问题与解决方案
1. 解压失败,乱码?
-
可能是
.lzh
文件名使用 Shift-JIS 编码(尤其是日文环境)。 -
解决方法:尝试设置终端编码或配合
convmv
转换。
2. 无法创建 .lzh
?
-
某些
lha
版本默认不支持压缩,仅解压功能。 -
建议检查版本或使用兼容的旧版本(如 Ishimaru's LHa)。
3. 文件结构丢失?
-
使用
e
提取不会保留目录结构,改用x
模式。
十、总结
项目 | 内容 |
---|---|
命令 | lha |
格式支持 | .lzh (LHA 格式)压缩包 |
常用操作 | 解压(e /x )、查看(l /v )、压缩(a ) |
安装需求 | 手动安装(不常默认提供) |
应用场景 | 解压老软件、复古游戏资源、兼容日本压缩格式 |
替代方案 | 现代系统建议优先使用 zip , tar.gz , xz 等 |
lha
是 Linux 上少数能处理 .lzh
格式的工具之一,在维护老旧资源、处理日本软件和模拟器数据时依然不可或缺。虽然在现代系统中应用不多,但其存在帮助我们兼容过去,桥接历史与现在。
这里是封面: