7zip是一个开源的压缩软件,相对其他linux压缩软件,7z压缩出来的数据都很小,也是压缩率最高的格式,而且添加密码还能加密文件名,从根本上解决了窥探数据的可能性,博主使用过zip和tar,效果都不太理想,对于需要加密备份敏感资料来说,很不方便,7z在一定程度上解决了加密的问题,在需要自动化备份的服务器上成为了可能。
# Centos,旧版本请把dnf改成yum
dnf instll p7zip-plugins
# Debian
apt install p7zip p7zip-full
命令使用方式:(注意,命令后面都不需要空格)
-a 添加到压缩文件
-b 基准测试,测试7z当前性能
-d 从压缩文件中删除
-e 从压缩文件中解压缩,但不包含目录结构(即所有各级文件都解压到一个目录里)
-l 列出压缩文件的内容
-t 测试压缩文件
-u 更新文件到压缩文件
-x 从压缩文件中解压缩,包含目录结构
-mhe=on 加密文件名
-mmt=off 取消多线程(默认是多线程工作)
设置压缩等级
压缩率越大占用内存越高,小内存主机建议使用0(不压缩)
mx=[0 | 1 | 5 | 7 | 9 ]
0 不压缩.
1 快速压缩:LZMA 快速算法、32KB 字典大小、HC3 Match finder、BCJ 过滤器。
5 正常压缩:LZMA 标准算法、2 MB 字典大小、BT4 Match finder、单词大小为 32、BCJ 过滤器。
7 最大压缩:LZMA 最大算法、8 MB 字典大小、BT4 Match finder、单词大小为 64、BCJ 过滤器。
9 极限压缩:LZMA 最大算法、32 MB 字典大小、BT4b Match finder、单词大小为 64、BCJ2 过滤器。
开启或关闭固实模式
对固实数据流大小的限制虽然能应响到压缩比,但是它还是有相当多的优势:
s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g)]
此选项的默认值是 s=on。开启或关闭固实压缩档案模式。在创建固实压缩档案模式中,它把压缩档案中的所有文件都当成一个连续数据流来看待。通常情况下,固实压缩可增加压缩比,特别是在添加大量小文件的时候。
e 为每一种文件扩展名使用单独的固实数据流
{N}f 设置在一个固实数据流种文件的个数
{N}b | {N}k | {N}m | {N}g 设置固实数据流的大小(字节)
7z打包目录到文件
7z a test.7z /test
7z解压文件到目录
7z x test.7z /test
7z打包目录到文件,并且加密(密码:1234)
7z a -p1234 test.7z test.py
7z解压加密文件到目录,(密码:1234)
7z x -p1234 test.7z test.py
删除压缩包里的文件(密码:1234)
7z d -p1234 test.7z
#(该命令会把test.7z里面的文件全部删除,只保留test.7z这个空包文件)
压缩目录成分卷(密码:1234)
7z a -p1234 -v1m test.7z /home/erico/test/
#(该命令行会将test目录打包成多个包,每个包大小都是1M,最后一个包<=1m)
把7z的分卷解压到指定目录(密码:1234)
7z x -p1234 file.7z.001 -o/test/
压缩目录成分卷,并加密文件名(密码:1234)
7z a -mhe=on -v4m -p1234 file.7z /test/
#(该命令行会将test目录打包成多个包,每个包大小都是1M,最后一个包<=1m,并且加密文件名)