• 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
     
  • 相关阅读:
    android自定义通知栏遇到的问题
    写博客号的初衷
    模型转换遇关键字
    界面传值的四种方式
    button循环添加事件
    解析数据的步骤
    数组排序 (数组是有序容器,因此集合中只有数组才能排序。)
    集合遍历
    自定义view和自定义cell
    cell自适应高度
  • 原文地址:https://www.cnblogs.com/wenyule/p/12214038.html
Copyright © 2020-2023  润新知