6.3-4 zip、unzip

zip:打包和压缩文件

    zip压缩格式是Windows与Linux等多平台通用的压缩格式。和gzip命令相比,zip命令压缩文件不仅不会删除源文件,而且还可以压缩目录。  

zip命令的参数选项及说明

  -r    将指定目录下的所有文件和子目录一并压缩 -x    压缩文件时排除某个文件 -q    不显示压缩信息  

压缩文件

[root@cs6 tmp]# cp /etc/services .
[root@cs6 tmp]# ll -h services
-rw-r--r--. 1 root root 626K May 13 00:35 services
 
[root@cs6 tmp]# zip services.zip ./services    #<==格式:zip 压缩包名 被压缩的文件。
  adding: services (deflated 80%)        #<==deflated压缩率。    
[root@cs6 tmp]# ll -h services*
-rw-r--r--. 1 root root 626K May 13 00:35 services
-rw-r--r--. 1 root root 125K May 13 00:38 services.zip

压缩目录

[root@cs6 tmp]# cd /
[root@cs6 /]# zip tmp.zip ./tmp/
  adding: tmp/ (stored 0%)
[root@cs6 /]# zip -r tmp.zip ./tmp/
updating: tmp/ (stored 0%)
  adding: tmp/anaconda-ks.cfg (deflated 38%)
  adding: tmp/install.log (deflated 71%)
  adding: tmp/yum.log (stored 0%)
  ....
  adding: tmp/html/6.html (stored 0%)
  adding: tmp/html/10.html (stored 0%)
  adding: tmp/html/1.html (stored 0%)
  adding: tmp/html/8.html (stored 0%)
  adding: tmp/services.zip (stored 0%)
  adding: tmp/services (deflated 80%)

排除压缩

[root@cs6 /]# zip -r tmp.zip ./tmp/ -x tmp
tmp/     tmp.zip  
[root@cs6 /]# zip -r tmp.zip ./tmp/ -x tmp/services.zip
updating: tmp/ (stored 0%)
updating: tmp/anaconda-ks.cfg (deflated 38%)
updating: tmp/install.log (deflated 71%)
updating: tmp/yum.log (stored 0%)
updating: tmp/.ICE-unix/ (stored 0%)
updating: tmp/lewen.log (deflated 50%)
......
updating: tmp/html/8.html (stored 0%)
updating: tmp/services (deflated 80%)
[root@cs6 /]#

 

unzip:解压zip文件

    unzip命令可以解压zip命令或其他压缩软件压缩的zip格式的文件。 -l    不解压显示压缩包内容 -o    解压时不提示是否覆盖文件 -d    指定解压目录 -v    解压时显示详细信息  

查看压缩文件。

[root@cs6 /]# unzip -l tmp.zip
Archive:  tmp.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  05-13-2019 00:38   tmp/
     1092  05-05-2019 23:12   tmp/anaconda-ks.cfg
     8081  05-05-2019 23:12   tmp/install.log
        0  05-05-2019 23:10   tmp/yum.log
        0  05-11-2019 17:56   tmp/.ICE-unix/
      150  05-12-2019 22:54   tmp/lewen.log
     3384  05-05-2019 23:11   tmp/install.log.syslog
  9068168  05-12-2019 18:46   tmp/etc.tar.gz
        0  05-12-2019 18:19   tmp/html/
        ......
        0  05-12-2019 18:19   tmp/html/6.html
        0  05-12-2019 18:19   tmp/html/10.html
        0  05-12-2019 18:19   tmp/html/1.html
        0  05-12-2019 18:19   tmp/html/8.html
   127362  05-13-2019 00:38   tmp/services.zip
   641020  05-13-2019 00:35   tmp/services
---------                     -------
  9849257                     23 files

常规解压文件的例子

[root@cs6 /]# unzip tmp.zip
Archive:  tmp.zip
replace tmp/anaconda-ks.cfg? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: tmp/anaconda-ks.cfg     
replace tmp/install.log? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: tmp/install.log         
replace tmp/yum.log? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 
 
[root@cs6 /]# unzip -v tmp.zip    #<==解压时显示一些信息。
Archive:  tmp.zip
Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 05-13-2019 00:38 00000000  tmp/
    1092  Defl:N      679  38% 05-05-2019 23:12 0cd9b8ec  tmp/anaconda-ks.cfg
    8081  Defl:N     2366  71% 05-05-2019 23:12 2254ab8c  tmp/install.log
      150  Defl:N       75  50% 05-12-2019 22:54 6195ad09  tmp/lewen.log
    3384  Defl:N      569  83% 05-05-2019 23:11 0c331784  tmp/install.log.syslog
9068168  Defl:N  7955263  12% 05-12-2019 18:46 da37147b  tmp/etc.tar.gz
......
       0  Stored        0   0% 05-12-2019 18:19 00000000  tmp/html/8.html
  127362  Stored   127362   0% 05-13-2019 00:38 859b286f  tmp/services.zip
  641020  Defl:N   127196  80% 05-13-2019 00:35 33bd3343  tmp/services
--------          -------  ---                            -------
9849257          8213510  17%                            23 files
 
[root@cs6 /]# unzip -o tmp.zip        #<==解压时不提示是否覆盖。
Archive:  tmp.zip
  inflating: tmp/anaconda-ks.cfg     
  inflating: tmp/install.log         
  inflating: tmp/install.log.syslog  
  inflating: tmp/etc.tar.gz          
.....     
extracting: tmp/html/1.html         
extracting: tmp/html/8.html         
extracting: tmp/services.zip        
  inflating: tmp/services   

指定解压目录解压文件    

    
[root@cs6 /]# unzip -d /tmp tmp.zip    #<==可以使用-d选项接目录来指定解压目录
Archive:  tmp.zip
   creating: /tmp/tmp/
  inflating: /tmp/tmp/anaconda-ks.cfg  
  inflating: /tmp/tmp/install.log    
extracting: /tmp/tmp/yum.log        
   creating: /tmp/tmp/.ICE-unix/
....
extracting: /tmp/tmp/html/1.html    
extracting: /tmp/tmp/html/8.html    
extracting: /tmp/tmp/services.zip   
  inflating: /tmp/tmp/services       
 
[root@cs6 /]# tree /tmp
/tmp
├── anaconda-ks.cfg
├── etc.tar.gz
├── html
│   ├── 10.html
│   ├── 1.html
│   ├── 2.html
│   ├── 3.html
│   ├── 4.html
│   ├── 5.html
│   ├── 6.html
....
 
│   ├── services
│   ├── services.zip
│   └── yum.log
└── yum.log
 
7 directories, 36 files

 

 
上一篇:Kali与Shell编程 -- zip压缩包管理命令使用


下一篇:Windows安装Linux虚拟机(CentOS7)