7z 是一款开源的高压缩率文件归档工具,最初由 Igor Pavlov 开发,是 7-Zip 项目的一部分,它支持多种压缩算法,包括 LZMA、LZMA2、PPMD、BCJ2 等,能够实现比传统工具(如 zip、gzip)更高的压缩率,同时支持加密、分卷压缩、固实压缩等高级功能,在 Linux 系统中,7z 通过命令行工具 p7zip 提供,广泛应用于数据备份、文件传输、存储优化等场景,本文将详细介绍 7z 在 Linux 中的安装方法、常用命令及高级用法,帮助用户高效管理文件。

7z 的安装与准备工作
在 Linux 系统中使用 7z 前,需先安装对应的软件包,不同发行版的安装命令略有差异:
基于 Debian/Ubuntu 的系统
使用 apt 包管理器安装,执行以下命令:
sudo apt update sudo apt install p7zip-full
p7zip-full 包含完整的 7z 工具(支持 7z、xz、bz2 等格式),而 p7zip 仅包含基础功能,建议安装完整版。
基于 CentOS/RHEL 的系统
使用 yum 或 dnf 包管理器安装:
sudo yum install p7zip p7zip-plugins # CentOS 7 及以下 sudo dnf install p7zip p7zip-plugins # CentOS 8 及以上
基于 Arch Linux 的系统
Arch Linux 默认仓库中包含 p7zip,直接安装即可:
sudo pacman -S p7zip
安装完成后,可通过以下命令验证是否安装成功:
7z --version
若显示版本信息及支持的算法,则表示安装成功。
7z 基本命令操作
7z 的命令语法简洁,核心操作包括压缩、解压、查看列表等,以下为常用命令的详细说明。
压缩文件:7z a(add)
a 命令用于将文件或目录添加到归档文件中,支持递归压缩目录,基本语法为:
7z a [归档文件名] [文件/目录路径]
示例:
-
压缩单个文件:
7z a documents.7z report.txt notes.txt
将
report.txt和notes.txt压缩为documents.7z。 -
压缩整个目录:
7z a project_backup.7z /home/user/project/
递归压缩
/home/user/project/目录及其所有子目录和文件。 -
压缩时设置压缩级别(0-9,默认为 5,9 为最高压缩率):
7z a -mx9 large_file.7z data/
解压文件:7z x(extract)
x 命令用于解压归档文件,会保留归档中的目录结构,基本语法为:
7z x [归档文件名] [-o输出目录]
示例:
-
解压到当前目录:

7z x documents.7z
-
解压到指定目录:
7z x project_backup.7z -o/home/user/restore
若
/home/user/restore不存在,7z 会自动创建。 -
解压时覆盖已存在文件(默认提示覆盖):
7z x documents.7y -y
-y参数表示自动确认所有提示。
查看归档内容:7z l(list)
l 命令用于列出归档文件中的内容,不实际解压,基本语法为:
7z l [归档文件名]
示例:
-
列出
documents.7z的详细内容(包括文件大小、压缩比、时间戳等):7z l documents.7z
输出结果包含
Date(修改时间)、Attr(文件属性)、Size(原始大小)、Compressed(压缩后大小)等列,帮助用户快速了解归档信息。 -
仅列出文件名(简化输出):
7z l documents.7z | grep "Path"
列出归档文件:7z v(verbose list)
v 命令是 l 的增强版,提供更详细的归档信息,包括压缩方法、CRC 校验码等,基本语法为:
7z v [归档文件名]
示例:
7z v large_file.7z ```会显示每个文件的压缩算法、字典大小、固实块信息等,适用于调试或分析压缩效果。 #### 5. 从归档中删除文件:`7z d`(delete) `d` 命令用于从归档中删除指定文件,会修改原归档文件,基本语法为: ```bash 7z d [归档文件名] [文件名]
示例:
- 从
documents.7z中删除notes.txt:7z d documents.7z notes.txt
测试归档完整性:7z t(test)
t 命令用于测试归档文件的完整性,检查文件是否损坏或 CRC 校验是否失败,基本语法为:
7z t [归档文件名]
示例:
7z t project_backup.7z
若输出显示 Everything is Ok,则表示归档文件完整;否则会提示损坏的文件位置。
7z 高级用法
除基本命令外,7z 支持多种高级功能,可满足复杂场景需求。
加密压缩:-p 密码 + -mhe=on
7z 支持 AES-256 加密,可通过 -p 参数设置密码,-mhe=on 表示加密文件头(避免文件名泄露),基本语法为:
7z a -p[密码] -mhe=on [归档文件名] [文件路径]
示例:

7z a -pMySecurePass123 -mhe=on private.7z secret.txt
解压时需输入密码:
7z x private.7z
分卷压缩:-v 大小
分卷压缩将大文件分割为多个小文件,适用于存储或传输限制,基本语法为:
7z a -v[大小单位] [归档文件名] [文件路径]
大小单位支持 K(KB)、M(MB)、G(GB),10M 表示每个分卷 10MB。
示例:
- 将
large_file.iso分割为每卷 100MB 的压缩包:7z a -v100M large_file_split.7z large_file.iso
生成的文件名为
large_file_split.7z.001、large_file_split.7z.002等,解压时需确保所有分卷在同一目录,执行:7z x large_file_split.7z.001
固实压缩:-ms=on
固实压缩(Solid Compression)将多个文件视为一个连续数据流压缩,可显著提高压缩率(尤其适用于大量小文件),但会降低随机访问速度,基本语法为:
7z a -ms=on [归档文件名] [文件路径]
示例:
7z a -ms=on archive_solid.7z *.txt
排除文件:-x 模式
压缩时可通过 -x 参数排除特定文件或目录,支持通配符(、),基本语法为:
7z a [归档文件名] [路径] -x![排除模式]
示例:
- 压缩
project/目录,排除所有.log文件:7z a project_clean.7z project/ -x!*.log
- 排除特定目录(如
temp/):7z a project_clean.7z project/ -x!project/temp
使用不同压缩算法:-m0=
7z 支持多种压缩算法,可通过 -m0= 指定,
LZMA2:默认算法,高压缩率,适合大文件;PPMD:适合文本文件,压缩率高但速度慢;Deflate:兼容 zip 格式,速度快但压缩率低。
示例:
- 使用
PPMD算法压缩文本文件:7z a -m0=PPMD -mx9 text_archive.7z *.txt
实际应用场景
备份重要数据
结合加密和固实压缩,可高效备份敏感数据:
7z a -pBackup2024 -mhe=on -ms=on /backup/user_data.7z /home/user/documents/ /home/user/photos/
传输大文件
通过分卷压缩将大文件分割为多个小文件,便于邮件发送或上传至限制文件大小的平台:
7z a -v20M large_file_transfer.7z movie.mp4
节省存储空间
对不常用的文件(如旧日志、历史数据)使用最高压缩率归档,释放磁盘空间:
7z a -mx9 -ms=on archive_old.7z /var/log/archive/
软件打包分发
将软件源码或二进制文件打包为 7z 格式,减少用户下载时间:
7z a -mx9 myapp-1.0.7z myapp/src/ myapp/bin/
注意事项
- 权限问题:压缩或解压时需确保对源文件有读取权限,对目标目录有写入权限。
- 压缩算法选择:高压缩率(如
LZMA2、-mx9)会消耗更多 CPU 资源,建议根据场景平衡速度与压缩率。 - 密码安全:加密压缩的密码需妥善保管,7z 加密强度高,但密码遗忘后无法恢复文件。
- 跨平台兼容性:7z 格式在 Windows、Linux、macOS 上均可使用,但部分高级功能(如固实压缩)可能在其他工具中兼容性较差。
7z 凭借其高压缩率、开源免费和丰富的功能,成为 Linux 系统中文件管理的利器,通过掌握基本命令(a、x、l、t)和高级用法(加密、分卷、固实压缩等),用户可灵活应对备份、传输、存储等多种需求,合理使用 7z 不仅能提升工作效率,还能有效优化磁盘空间利用,是 Linux 用户必备的工具之一。



















