帮助文档 > 系统入门 > 服务器相关问题 > Linux 常用命令

linux 中解压7z文件

linux 解压、解压7z文件方法


安装7z源

p7zip_16.02_src_all.tar.bz2

tar xjpf p7zip_16.02_src_all.tar.bz2
cd p7zip_16.02
./install.sh

https://help.kumanyun.com/help-11-58.html


[root@VM_18_10_centos ~]# sudo yum install p7zip p7zip-plugins
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Package p7zip-16.02-2.el6.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package p7zip-plugins.x86_64 0:16.02-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================
 Package                   Arch               Version                 Repository        Size
=============================================================================================
Installing:
 p7zip-plugins             x86_64             16.02-2.el6             epel             982 k

Transaction Summary
=============================================================================================
Install       1 Package(s)

Total download size: 982 k
Installed size: 2.7 M
Is this ok [y/N]: y
Downloading Packages:
p7zip-plugins-16.02-2.el6.x86_64.rpm                                  | 982 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : p7zip-plugins-16.02-2.el6.x86_64                                          1/1 
  Verifying  : p7zip-plugins-16.02-2.el6.x86_64                                          1/1 

Installed:
  p7zip-plugins.x86_64 0:16.02-2.el6                                                         

Complete!
[root@VM_18_10_centos ~]#

查看一下程序使用说明

[root@VM_18_10_centos ~]# 7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,1 CPU Intel(R) Xeon(R) CPU E5-26xx v2 (306E4),ASM,AES-NI)

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a : Add files to archive
  b : Benchmark
  d : Delete files from archive
  e : Extract files from archive (without using directory names)
  h : Calculate hash values for files
  i : Show information about supported formats
  l : List contents of archive
  rn : Rename files in archive
  t : Test integrity of archive
  u : Update files to archive
  x : eXtract files with full paths

<Switches>
  -- : Stop switches parsing
  -ai[r[-|0]]{@listfile|!wildcard} : Include archives
  -ax[r[-|0]]{@listfile|!wildcard} : eXclude archives
  -ao{a|s|t|u} : set Overwrite mode
  -an : disable archive_name field
  -bb[0-3] : set output log level
  -bd : disable progress indicator
  -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line
  -bt : show execution time statistics
  -i[r[-|0]]{@listfile|!wildcard} : Include filenames
  -m{Parameters} : set compression Method
    -mmt[N] : set number of CPU threads
  -o{Directory} : set Output directory
  -p{Password} : set Password
  -r[-|0] : Recurse subdirectories
  -sa{a|e|s} : set Archive name mode
  -scc{UTF-8|WIN|DOS} : set charset for for console input/output
  -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files
  -scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands
  -sdel : delete files after compression
  -seml[.] : send archive by email
  -sfx[{name}] : Create SFX archive
  -si[{name}] : read data from stdin
  -slp : set Large Pages mode
  -slt : show technical information for l (List) command
  -snh : store hard links as links
  -snl : store symbolic links as links
  -sni : store NT security information
  -sns[-] : store NTFS alternate streams
  -so : write data to stdout
  -spd : disable wildcard matching for file names
  -spe : eliminate duplication of root folder for extract command
  -spf : use fully qualified file paths
  -ssc[-] : set sensitive case mode
  -ssw : compress shared files
  -stl : set archive timestamp from the most recently modified file
  -stm{HexMask} : set CPU thread affinity mask (hexadecimal number)
  -stx{Type} : exclude archive type
  -t{Type} : Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options
  -v{Size}[b|k|m|g] : Create volumes
  -w[{path}] : assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]{@listfile|!wildcard} : eXclude filenames
  -y : assume Yes on all queries
[root@VM_18_10_centos ~]#

7z命令解压文件的例子:

7z x "/2017-03-03-uploads.7z" -y -aoa -o/11

解压2017-03-03-uploads.7z文件到目录/11。

7z x "/2017-03-03-uploads.7z" -y -aoa -o/11

参数说明:

x:完整路径下解压文件
-y:所有确认选项都默认为是(即不出现确认提示)

-aoa:直接覆盖现有文件,而没有任何提示。 

-o:设置输出目录

[root@izp0w0bp7w7vul720hq98lz /]# 7z x "/2017-03-03-uploads.7z" -y -aoa -o/11

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz (406F1),ASM,AES-NI)

Scanning the drive for archives:
1 file, 9218952819 bytes (8792 MiB)

Extracting archive: /2017-03-03-uploads.7z
--
Path = /2017-03-03-uploads.7z
Type = 7z
Physical Size = 9218952819
Headers Size = 1784480
Method = LZMA2:24
Solid = +
Blocks = 5

Everything is Ok                                                              

Folders: 2905
Files: 140185
Size:       10296563719
Compressed: 9218952819
[root@izp0w0bp7w7vul720hq98lz /]#

-t7z -- 压缩文件的格式为7z
-mx=9 -ms=200m -mf -mhc -mhcf -m0=LZMA:a=2:d=25:mf=bt4b:fb=64 -mmt
-- 指定压缩算法选项
-mx=9 -- 设置压缩等级为极限压缩(默认为:LZMA 最大算法、32 MB 字典大小、BT4b Match finder、单词大小为 64、BCJ2 过滤器)
-ms=200m -- 开启固实模式,设置固实数据流大小为200MB。
-mf -- 开启可执行文件压缩过滤器。
-mhc -- 开启档案文件头压缩。
-mhcf -- 开启档案文件头完全压缩。我所使用的7z版本为4.42>2.30。
-m0=LZMA:a=2:d=25:mf=bt4b:fb=64
-- 第一个备选压缩算法为LZMA,压缩等级为最大压缩,LZMA算法使用的字典大小为25(2MB的5次方)32MB,算法的匹配器为bt4b(所需要内存为d×9.5 + 34 MB),压缩算法的紧凑字节为最大模式的64字节。
-mmt -- 开启多线程模式。
-r-- 递归到所有的子目录。


7z命令压缩文件的例子:

7z a -t7z /huoniao-2017-03-26.7z /huoniao/ -mhcf -mmt -r

[root@VM_18_10_centos huoniao]# 7z a -t7z /huoniao-2017-03-26.7z /huoniao/ -mhcf -mmt -r

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,1 CPU Intel(R) Xeon(R) CPU E5-26xx v2 (306E4),ASM,AES-NI)

Scanning the drive:
4929 folders, 152256 files, 11032296754 bytes (11 GiB)                         

Creating archive: /huoniao-2017-03-26.7z

Items to compress: 157185
Files read from disk: 152189                                                   
Archive size: 9688588793 bytes (9240 MiB)
Everything is Ok
[root@VM_18_10_centos huoniao]# 
Connection closed by foreign host.

Disconnected from remote host(ikuman) at 10:43:14.

Type `help' to learn how to use Xshell prompt.

已经顺利压缩完成,主目录的文件名 huoniao-2017-03-26.7z 

[root@VM_18_10_centos /]# ll
total 9471004
dr-xr-xr-x.   2 root root       4096 Mar  3 12:37 bin
dr-xr-xr-x.   4 root root       4096 Mar  3 09:15 boot
drwxr-xr-x    2 root root       4096 Nov  9 11:57 data
drwxr-xr-x   16 root root       3380 Mar  3 16:34 dev
drwxr-xr-x.  73 root root       4096 Mar  3 16:34 etc
drwxrwxrwx    2 root root       4096 Mar  3 15:12 hnbak
drwxr-xr-x.   2 root root       4096 Sep 23  2011 home
drwxrwxrwx    3 root root       4096 Mar 26 10:53 huoniao
-rw-r--r--    1 root root 9688588793 Mar 26 02:51 huoniao-2017-03-26.7z
dr-xr-xr-x.  11 root root       4096 Mar  3 12:18 lib
dr-xr-xr-x.   9 root root      12288 Mar  3 12:19 lib64
drwx------.   2 root root      16384 Nov  9 11:45 lost+found
drwxr-xr-x.   2 root root       4096 Sep 23  2011 media
drwxr-xr-x.   2 root root       4096 Sep 23  2011 mnt
drwxr-xr-x.   3 root root       4096 Nov  9 11:48 opt
dr-xr-xr-x  132 root root          0 Mar  3 16:33 proc
dr-xr-x---.   3 root root       4096 Mar  3 09:20 root
dr-xr-xr-x.   2 root root      12288 Nov  9 11:48 sbin
drwxr-xr-x.   2 root root       4096 Nov  9 11:45 selinux
drwxr-xr-x.   2 root root       4096 Sep 23  2011 srv
drwxr-xr-x   13 root root          0 Mar  3 16:33 sys
drwxrwxrwt.   3 root root     118784 Mar 26 10:53 tmp
drwxr-xr-x.  14 root root       4096 Mar  3 12:42 usr
drwxr-xr-x.  19 root root       4096 Nov  9 11:48 var
drwxr-xr-x    5 root root       4096 Mar  3 12:38 www
[root@VM_18_10_centos /]#


7z命令排除文件夹的例子: 排除uploads、phpmailer两个文件夹

7z a -t7z /huoniao/20171003.7z /huoniao/web/aus168_com/public_html/ -mhcf -mmt -r -xr\!uploads -xr\!phpmailer


7z a -t7z /1.zip /www/ihuoniao.cn/ -mhcf -mmt -r -xr\!uploads -xr\!templates -xr0\!*.sql -xr\!backup


[root@iZp0w0bp7w7vul720hq98lZ public_html]# 7z a -t7z /huoniao/20171003.7z /huoniao/web/aus168_com/public_html/ -mhcf -mmt -r -xr\!uploads -xr\!phpmailer

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz (406F1),ASM,AES-NI)

Scanning the drive:
1880 folders, 20289 files, 387211806 bytes (370 MiB)

Creating archive: /huoniao/20171003.7z

Items to compress: 22169
                                                                                                                                                                                                                                Files read from disk: 20240                                               
Archive size: 198601206 bytes (190 MiB)
Everything is Ok
[root@iZp0w0bp7w7vul720hq98lZ public_html]# 

[root@iZp0w0bp7w7vul720hq98lZ huoniao]# du -sh *
190M	20171003.7z
159M	db_web_data
6.5G	web
11G	web_2017-09-30
[root@iZp0w0bp7w7vul720hq98lZ huoniao]#



-v指定分卷大小

{Size}[b | k | m | g] 

指定分卷大小,可以使用字节、KB(1 KB=1024 字节),MB(1 MB = 1024 KB)或 GB(1 GB = 1024 MB)。

如果您只指定了 {Size},7-zip 将把它视为字。 

7z a a.7z *.txt -v10k -v15k -v2m : 创建 a.7z 分卷压缩档案。第一个分卷为 10 KB,第二个为 15 KB,剩下全部为 2 MB。


大于10G以上文件夹,分3G卷打包

7z a -t7z /kuman/www/huoniao_20190512.7z /kuman/www/wwwroot/26dj.com/ -mhcf -mmt -r -v3g

[root@ecs-eedb ~]# 7z a -t7z /kuman/www/huoniao_20190512.7z /kuman/www/wwwroot/26dj.com/ -mhcf -mmt -r -v3g

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz (50657),ASM,AES-NI)

Scanning the drive:
11142 folders, 149375 files, 16325307459 bytes (16 GiB)                        

Creating archive: /kuman/www/huoniao_20190512.7z

Items to compress: 160517

                                                                               
Files read from disk: 148452
Archive size: 14621014941 bytes (14 GiB)
Everything is Ok
[root@ecs-eedb ~]#

教程结束 ~