Linux lha 命令详解:用于处理 .lzh(LHA 格式)压缩文件的命令行工具

Linux lha 命令详解


一、命令简介

lha 是 Linux 中用于处理 .lzh(LHA 格式)压缩文件的命令行工具。LHA 是一种源自日本的老牌压缩格式,广泛用于早期 DOS、Windows、Amiga 和日本 PC-98 系统,在 Linux 中不常见,但仍可用于解压旧档案或跨平台兼容。

该命令支持 .lzh 压缩文件的**压缩(archive)、解压(extract)、列出内容(list)**等操作,虽然其压缩率和速度不及现代算法(如 gzipxz),但在复古软件或某些嵌入式环境中仍有用途。

📦 .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 格式的工具之一,在维护老旧资源、处理日本软件和模拟器数据时依然不可或缺。虽然在现代系统中应用不多,但其存在帮助我们兼容过去,桥接历史与现在。

这里是封面:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值