7-Zip是一个文件归档器,支持7z(它实现了压缩比非常高的LZMA压缩算法)、LZMA2、XZ、Zip、Zip64、CAB、ARJ、GZIP、BZIP2、TAR、CPIO、RPM、ISO、大多数文件系统映像和DEB格式
7-Zip是一个文件归档器,支持7z(它实现了压缩比非常高的LZMA压缩算法)、LZMA2、XZ、Zip、Zip64、CAB、ARJ、GZIP、BZIP2、TAR、CPIO、RPM、ISO、大多数文件系统映像和DEB格式。RAR格式已被删除,因为它不是一个自由许可证。
环境
Centos7.7 Minimalp7zip-16.02
安装
Centos7中默认不安装P7zip安装包,默认源码中也没有这个安装包。需要安装epel源码才能安装p7zip安装包。
[root@localhost ~]# yum -y install epel-release[root@localhost ~]# yum -y install p7zip p7zip-plugins
用法
7z命令提供的功能字母类似于命令行选项,但它不与-一起使用。这些参数字母告诉命令它需要执行什么功能。
压缩文件
使用A参数创建一个压缩包。
创建7z格式的压缩包:
[root@localhost ~]# 7z a files.7z file1.txt file2.txt file3.txt file4.txt 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive:4 files, 0 bytesCreating archive: files.7zItems to compress: 4 Files read from disk: 0Archive size: 143 bytes (1 KiB)Everything is Ok
执行该命令后,检查是否创建了7z格式的压缩包。
创建包含目录的压缩包:
[root@localhost ~]# 7z a gpg.7z .gnupg/7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive:2 folders, 5 files, 8280 bytes (9 KiB)Creating archive: gpg.7zItems to compress: 7 Files read from disk: 2Archive size: 4157 bytes (5 KiB)Everything is Ok[root@localhost ~]#
7zip还可以压缩和解压缩其他格式的压缩包。例如,在中创建一个压缩包。zip格式。
[root@localhost ~]# 7z a files.zip file{1..4}.txt7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive:4 files, 0 bytesCreating archive: files.zipItems to compress: 4 Files read from disk: 4Archive size: 542 bytes (1 KiB)Everything is Ok
列出压缩包的内容
使用l参数列出压缩包的内容:
[root@localhost ~]# 7z l gpg.7z 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive for archives:1 file, 4157 bytes (5 KiB)Listing archive: gpg.7z--Path = gpg.7zType = 7zPhysical Size = 4157Headers Size = 278Method = LZMA2:12kSolid = +Blocks = 1 Date Time Attr Size Compressed Name------------------- ----- ------------ ------------ ------------------------2020-01-04 18:24:05 D.... 0 0 .gnupg2020-01-04 18:22:36 D.... 0 0 .gnupg/private-keys-v1.d2020-01-04 18:24:48 ....A 0 0 .gnupg/S.gpg-agent2020-01-04 18:22:36 ....A 0 0 .gnupg/pubring.gpg2020-01-04 18:24:05 ....A 0 0 .gnupg/secring.gpg2020-01-04 18:22:36 ....A 7680 3879 .gnupg/gpg.conf2020-01-04 18:24:52 ....A 600 .gnupg/random_seed------------------- ----- ------------ ------------ ------------------------2020-01-04 18:24:52 8280 3879 5 files, 2 folders
解压缩文件
使用e解压缩文件,并将所有文件解压缩到当前目录。(不推荐)
[root@localhost test]# 7z e gpg.7z 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive for archives:1 file, 4157 bytes (5 KiB)Extracting archive: gpg.7z--Path = gpg.7zType = 7zPhysical Size = 4157Headers Size = 278Method = LZMA2:12kSolid = +Blocks = 1Everything is OkFolders: 2Files: 5Size: 8280Compressed: 4157
您可以看到所有文件都被提取到当前目录。
现在用x参数解压文件,看看。
[root@localhost test]# 7z x gpg.7z 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive for archives:1 file, 4157 bytes (5 KiB)Extracting archive: gpg.7z--Path = gpg.7zType = 7zPhysical Size = 4157Headers Size = 278Method = LZMA2:12kSolid = +Blocks = 1Everything is OkFolders: 2Files: 5Size: 8280Compressed: 4157
可以看到提取的文件是按照原始文件的目录形式提取的。
更新压缩包
一段时间后,你需要在文件夹中添加一些新文件,你想把它们添加到压缩包中。您只需要更新现有的压缩包,而不是创建新的压缩包。
首先压缩测试目录。
[root@localhost test]# 7z a files.7z test/7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive:1 folder, 4 files, 0 bytesCreating archive: files.7zItems to compress: 5 Files read from disk: 0Archive size: 158 bytes (1 KiB)Everything is Ok
在测试文件夹中创建几个文件,然后更新压缩包:
[root@localhost test]# touch test/file{5..10}.txt[root@localhost test]# 7z u files.7z test/7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Open archive: files.7z--Path = files.7zType = 7zPhysical Size = 158Headers Size = 158Solid = -Blocks = 0Scanning the drive:1 folder, 10 files, 0 bytesUpdating archive: files.7zItems to compress: 7 Files read from disk: 0Archive size: 186 bytes (1 KiB)Everything is Ok
检查文件是否已被添加。
[root@localhost test]# 7z l files.7z 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (906EA),ASM,AES-NI)Scanning the drive for archives:1 file, 186 bytes (1 KiB)Listing archive: files.7z--Path = files.7zType = 7zPhysical Size = 186Headers Size = 186Solid = -Blocks = 0 Date Time Attr Size Compressed Name------------------- ----- ------------ ------------ ------------------------2020-03-11 14:24:54 D.... 0 0 test2020-03-11 14:18:22 ....A 0 0 test/file1.txt2020-03-11 14:24:54 ....A 0 0 test/file10.txt2020-03-11 14:18:22 ....A 0 0 test/file2.txt2020-03-11 14:18:22 ....A 0 0 test/file3.txt2020-03-11 14:18:22 ....A 0 0 test/file4.txt2020-03-11 14:24:54 ....A 0 0 test/file5.txt2020-03-11 14:24:54 ....A 0 0 test/file6.txt2020-03-11 14:24:54 ....A 0 0 test/file7.txt2020-03-11 14:24:54 ....A 0 0 test/file8.txt2020-03-11 14:24:54 ....A 0 0 test/file9.txt------------------- ----- ------------ ------------ ------------------------2020-03-11 14:24:54 0 0 10 files, 1 folders
摘要
7z格式的压缩比比ZIP格式高30%-50%。