一、命令简介
7z是7-Zip压缩软件的命令行版本,支持多种压缩格式(7z、ZIP、GZIP、BZIP2、TAR等),具有高压缩比和丰富的功能选项。
二、安装方法
Linux系统安装
# Ubuntu/Debian系统
sudo apt-get update
sudo apt-get install p7zip-full -y
# CentOS/RHEL系统
sudo yum install epel-release
sudo yum install p7zip p7zip-plugins
# Fedora系统
sudo dnf install p7zip-full
# Arch Linux系统
sudo pacman -S p7zip
Windows系统安装
从7-Zip官网(https://www.7-zip.org/)下载安装包,安装后可将安装目录添加到系统PATH环境变量以便在命令行直接使用。
三、基本语法
7z <命令> [<开关>...] <压缩文件名> [<文件/目录>...]
四、核心命令详解
| 命令 | 功能说明 | 示例 |
|---|---|---|
a | 添加文件到压缩包(创建压缩包) | 7z a archive.7z file.txt |
x | 提取完整路径的文件(保留目录结构) | 7z x archive.7z |
e | 从压缩包中提取文件(不使用目录名) | 7z e archive.7z |
l | 列出压缩包的内容 | 7z l archive.7z |
t | 测试压缩包的完整性 | 7z t archive.7z |
d | 从压缩包中删除文件 | 7z d archive.7z file.txt |
u | 更新压缩包中的文件 | 7z u archive.7z newfile.txt |
rn | 重命名压缩包中的文件 | 7z rn archive.7z old.txt new.txt |
五、常用参数选项
压缩相关参数
-t{格式}:指定压缩格式(7z、zip、gzip等),默认7z-mx{0-9}:设置压缩级别(0不压缩,9极限压缩)-mmt{N}:设置CPU线程数量-p{密码}:设置压缩密码-mhe=on:加密文件名(仅7z格式支持)
解压相关参数
-o{目录}:指定输出目录(注意:-o后无空格)-ao{a|s|t|u}:设置覆盖模式-aoa:直接覆盖现有文件-aos:跳过已存在文件-aou:自动重命名新文件-aot:自动重命名旧文件
-p{密码}:解压密码
文件处理参数
-r:递归处理子目录-x{文件}:排除指定文件-y:对所有提示回答”Yes”
分卷压缩参数
-v{大小}[b|k|m|g]:创建分卷压缩- 示例:
-v10m(每卷10MB) - 示例:
-v1g(每卷1GB)
- 示例:
六、常用操作示例
1. 基本压缩操作
# 压缩单个文件
7z a archive.7z file.txt
# 压缩多个文件
7z a archive.7z file1.txt file2.txt file3.txt
# 压缩目录(递归)
7z a archive.7z -r directory/
# 使用zip格式压缩
7z a -tzip archive.zip file.txt
# 最高压缩级别
7z a -mx9 archive.7z file.txt
2. 加密压缩
# 设置密码压缩
7z a -p123456 archive.7z file.txt
# 加密文件名(仅7z格式)
7z a -p123456 -mhe=on archive.7z file.txt
3. 分卷压缩
# 分卷压缩(每卷500MB)
7z a -v500m archive.7z largefile.iso
# 指定多个分卷大小
7z a archive.7z -v10k -v15k -v2m file.txt
4. 解压操作
# 解压到当前目录(保留目录结构)
7z x archive.7z
# 解压到指定目录
7z x archive.7z -o/target/directory
# 解压加密文件
7z x -p123456 archive.7z
# 解压分卷文件(只需第一个分卷)
7z x archive.7z.001
5. 查看和测试
# 查看压缩包内容
7z l archive.7z
# 测试压缩包完整性
7z t archive.7z
# 测试分卷压缩包
7z t archive.7z.001
6. 更新和删除
# 更新压缩包中的文件
7z u archive.7z newfile.txt
# 从压缩包中删除文件
7z d archive.7z oldfile.txt
七、高级用法
排除特定文件
# 压缩时排除.log文件
7z a archive.7z directory/ -x!*.log
# 排除多个文件类型
7z a archive.7z directory/ -x!*.log -x!*.tmp
多线程压缩
# 使用4个线程压缩
7z a -mmt4 archive.7z largefile.iso
从标准输入读取数据
# 从管道压缩
cat file.txt | 7z a -si archive.7z
# 解压到标准输出
7z x -so archive.7z file.txt
八、注意事项
- 密码安全:避免在命令行中直接使用
-p参数指定密码,建议使用交互式输入或环境变量,防止密码泄露到命令历史中 - 分卷解压:解压分卷压缩包时只需指定第一个分卷(如
archive.7z.001),7z会自动识别后续分卷 - 输出目录:使用
-o参数时,注意参数后无空格直接接目录路径 - 中文支持:处理中文文件名时建议统一使用UTF-8编码,避免乱码问题
- 性能优化:对于大文件,可使用
-mmt参数启用多线程压缩,提升压缩速度 - 压缩格式选择:
- 7z格式:压缩率最高,但兼容性较差
- zip格式:兼容性最好,但压缩率较低
- 根据实际需求选择合适的压缩格式
- 工具依赖:确保系统已安装7z工具,可通过
7z --help查看帮助信息
7z命令功能强大,支持丰富的参数选项,可根据实际需求灵活组合使用。建议在使用前通过man 7z或7z --help查看详细的帮助文档。