首页 > 代码库 > Linux命令(31):zip/unzip命令-打包压缩
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命令(31):zip/unzip命令-打包压缩