7z 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,聚焦
7z——压缩与归档命令族(见压缩、归档与备份命令族)。要极限压缩率、又想一个工具通吃 zip/7z/tar 等格式,它是首选。
7z 是 7-Zip 的命令行前端,压缩率通常优于传统 zip/gzip,且支持 7z、zip、tar、xz 等多种格式与强加密。
一、基本用法
bash
7z a archive.7z dir/ # a = add,压缩目录成 archive.7z
7z x archive.7z -o/out # x = 解压并保持目录结构到 /out
7z l archive.7z # l = list,列出内容不解压动词在前:
a添加(压缩)、x解压(保留路径)、e解压(平铺、不保留目录)、l列表。和 tar 的-c/-x思路类似但语法不同。
二、加密与分卷
bash
7z a -psecret -mhe=on sec.7z file # -p 设密码,-mhe 同时加密文件名
7z a -v100m big.7z dir/ # -v 每卷 100M 分卷7z 的 AES-256 加密很强,
-mhe=on还能把文件名也加密(zip 默认不加密文件名)。分卷适合大包拆分传输。
三、7z vs zip vs tar
| 工具 | 压缩率 | 格式通吃 |
|---|---|---|
7z | 最高 | 是(7z/zip/tar/xz…) |
| zip | 中 | 仅 zip(见zip 命令详解) |
tar.zst | 高且快 | tar 系(见zstd 命令详解) |
要最小体积且对方能装 7z,用 7z;要 Windows 原生兼容用 zip;纯 Linux 内部用
tar.zst更快。
四、踩坑:目标机需装 p7zip
bash
# 解压方也必须装了 p7zip(7z 命令),否则打不开
which 7z || apt install p7zip-full # Debian/Ubuntu跨机器传 7z 包前确认对方有
p7zip,否则对方解不开。给 Windows 用户传文件仍优先 zip(系统原生)。
五、实战:极限压缩备份
bash
7z a -mx=9 -p"$PASS" full.7z /var/www # -mx=9 最高压缩级别一句话总结
7z = 高压缩率多格式归档:a 压缩、x 解压保路径、l 列表;-p/−mhe 加密(含文件名)、-v 分卷、-mx=9 最高级别;压缩率优于 zip/gzip。跨机传包需对方装 p7zip,否则用 zip 兼容。