Linux lha 命令详解:用于处理 .lzh(LHA 格式)压缩文件的命令行工具
lha是 Linux 中用于处理.lzh(LHA 格式)压缩文件的命令行工具。LHA 是一种源自日本的老牌压缩格式,广泛用于早期 DOS、Windows、Amiga 和日本 PC-98 系统,在 Linux 中不常见,但仍可用于解压旧档案或跨平台兼容。该命令支持.lzh压缩文件的**压缩(archive)、解压(extract)、列出内容(list)**等操作,虽然其压缩率和速度不及现代算法(如g
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 格式的工具之一,在维护老旧资源、处理日本软件和模拟器数据时依然不可或缺。虽然在现代系统中应用不多,但其存在帮助我们兼容过去,桥接历史与现在。
这里是封面:
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)