Linux命令(31):zip/unzip命令-打包压缩

zip命令

功能说明

    zip程序即是文件压缩工具也是文件归档工具,可以对文件或者目录进行压缩或解压,压缩格式为zip。在Linux系统中,gzip才是主要的压缩指令,而bzip2仅次之。Linux用户主要使用zip程序与Windows系统交换文件,而不是将其用于压缩或是归档文件。用法如下:

  zip [选项] 压缩文件名 需要压缩的文档列表

  unzip [选项] 压缩文件名

常用参数
选项    说明
zip命令    
-r    递归压缩,将指定目录下的所有文件以及子目录全部压缩
-d    从压缩文件内删除指定的文件
-i "文件列表"    只压缩文件列表中的文件
-x "文件列表"    压缩时排队文件列表中指定的文件
-u    更新文件到压缩文件中
-m    将文件加入压缩文件压缩后,删除原始文件,即马文件移至压缩文件中
-F    尝试修复损坏的压缩文件
-T    检查压缩文件内的每个文件是否正确无误
- #    压缩级别是1-9之间的一个数字
unzip命令    
-x "文件列表"    解压文件,但不包含文件列表中指定的文件
-t    测试压缩文件有无损坏,并不解压
-v    查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压
-n    解压时不覆盖已经存在的文件
-o    解压时覆盖已经存在的文件,并且不要求用户确认
-d 目录名    把压缩文件解压到指定目录下

示例                    

    对test目录下的所有文件以及目录进行压缩

[ app]# zip -9r test.zip test/

    对test目录中所有文件以及子目录压缩,除了*.gz的文件,压缩后的文件保存在当前目录

[ app]# ls -l test

总用量 216

-rw-r--r--. 1 root root    181 11月 23 17:07 99.sh

-rw-------. 1 1127.www.qixoo.qixoo.com/root root  11595 11月 23 17:07 messages

-rw-r--r--. 1 root root   1149 11月 23 17:07 messages2.gz

-rw-r--r--. 1 root root   1202 11月 23 17:07 messages.gz

-rw-r--r--. 1 root root 143538 11月 23 17:07 shell.txt

-rw-r--r--. 1 root root  48218 11月 23 17:07 shell.txt.bz2

[ app]# zip -r test3.zip test -x "*.gz"    #没有压缩*.gz的文件

  adding: test/ (stored 0%)

  adding: test/99.sh (deflated 30%)

  adding: qkxue.net/test/messages (deflated 90%)

  adding: test/shell.txt (deflated 62%)

  adding: test/shell.txt.bz2 (deflated 0%)

    使用-d参数将上面test3.zip中的test/shell.txt文件从压缩包中删除

[ app]# zip test3.zip -d test/shell.txt

deleting: test/shell.txt

    使用-u参数,将修改了的/test/99.sh文件,把更改的信息更新到test3.zip包中

[ app]# zip -u test3.zip /test/99.sh

updating: test/99.sh (deflated 30%)

    如果test目录下更新文件较多,也可以使用下面方法全部更新到test3.zip下
[ app]# zip -ru test3.zip /test/

    将test3.zip压缩文件全部解压到/tmp目录下,并且在解压过程如如果出现相同的文件就直接进行覆盖,不要求用户确认

[ app]# unzip -o test3.zip  -d /tmp/

[ test]# pwd

/tmp/test

[ test]# ls

99.sh  messages  shell.txt.bz2

上一篇:linux zip命令


下一篇:ngx_pagespeed-nginx前端优化模块介绍