用法

四個指令 — 其他都是選項。

看歸檔内容:lha l archive.lzh

最常用的操作。列出歸檔内每个成员的大小、壓縮率、时间戳:

$ lha l README.lzh
PERM  UID  GID    SIZE  RATIO     STAMP           NAME
[generic]                  1234  60.0%  Jul 14 20:30  README.md
[generic]                  5678  72.5%  Jul 14 20:30  src/main.c
---------- -------------------- ------- ----------
                      2 files,    6912 bytes (62.5%)

v 出詳情(路径权限 + CRC):

$ lha lv README.lzh

两个 v 是超詳細(每块信息):

$ lha lvv README.lzh

解壓:lha x archive.lzh

預設解壓模式。檔案按歸檔里的相对路径写到当前目录:

$ lha x archive.lzh

常用選項:

glob 過濾:

$ lha x archive.lzh "*.c"        # 只解 *.c
$ lha x archive.lzh src/*        # 只解 src/ 下

CRC 校驗:lha t archive.lzh

遍歷整个歸檔,重算每个成员的 CRC16,和歸檔头里写的对一遍。退出码 0 = 全过;非 0 = 有成员 CRC 不对(歸檔坏了或者没下完)。

$ lha t README.lzh
test README.lzh            : OK

在 CI 里这个很管用——从上游 mirror 拉完 .lzh 之后 lha t 一下再解。

打印到标准輸出:lha p archive.lzh file

把歸檔里单个成员輸出到 stdout(已解壓)。等价 tar -xOf archive.lzh file

$ lha p README.lzh src/main.c | head -5
/* main.c — entry point */

不加成员過濾则按顺序打印全部成员,方便管道:

$ lha p archive.lzh | grep TODO

lhasa 不做什么

读(2026 年的 99% 用例)用 lhasa 就够了。