在大多数Linux发行版中,可以通过包管理器安装:
sudo apt update
sudo apt install p7zip-full
sudo yum install p7zip
或使用EPEL源:
sudo yum install epel-release
sudo yum install p7zip p7zip-plugins
7za [命令] [选项] 归档文件 [文件...]
| 参数 | 说明 |
|---|---|
a |
添加文件到压缩包(创建/更新归档) |
e |
解压文件到当前目录(不保持目录结构) |
x |
解压文件并保持完整的目录结构 |
l |
列出压缩包内容 |
t |
测试压缩包完整性 |
-t7z |
指定压缩格式为7z(默认) |
-tzip |
指定压缩格式为ZIP |
-m0=lzma2 |
设置压缩方法为LZMA2(默认) |
-mx=9 |
设置压缩级别(0-9,9为最高) |
-mfb=64 |
设置快速字节数(影响压缩速度) |
-md=32m |
设置字典大小(影响内存使用) |
-o[目录] |
指定输出目录 |
-p[密码] |
设置密码(加密压缩包) |
-r |
递归处理子目录 |
-y |
对所有询问回答"是" |
将file1.txt和file2.txt压缩为archive.7z:
7za a archive.7z file1.txt file2.txt
使用最高压缩级别压缩目录:
7za a -t7z -mx=9 -mfb=64 -md=32m -ms=on archive.7z /path/to/directory/
7za a -pMyPassword -mhe=on secure.7z secret_data/
-mhe=on选项会加密压缩包的文件头,不显示内部文件名列表
解压到当前目录(不保持目录结构):
7za e archive.7z
解压并保持完整目录结构:
7za x archive.7z
解压到指定目录:
7za x archive.7z -o/home/user/extracted/
7za l archive.7z
显示详细列表信息:
7za l -slt archive.7z
7za u archive.7z newfile.txt
如果newfile.txt已经存在于压缩包中,则会更新;否则会添加新文件
-mx=9获得最高压缩比,但速度较慢-mx=1获得最快压缩速度,但压缩比较低-md参数可以控制字典大小,较大的字典需要更多内存但可能提高压缩率-p参数设置密码时,密码会显示在命令行历史中-p不带参数,命令会提示输入密码-mhe=on加密文件头将ZIP格式转换为7z格式以获得更高压缩率:
7za x archive.zip -o/tmp/extract/
7za a -t7z archive.7z /tmp/extract/*
批量压缩当前目录下所有.log文件:
7za a logs.7z *.log