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