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目录下的所有文件以及目录进行压缩
[[email protected] app]# zip -9r test.zip test/ |
对test目录中所有文件以及子目录压缩,除了*.gz的文件,压缩后的文件保存在当前目录
[[email protected] app]# ls -l test 总用量 216 -rw-r--r--. 1 root root 181 11月 23 17:07 99.sh -rw-------. 1 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 [[email protected] app]# zip -r test3.zip test -x "*.gz" #没有压缩*.gz的文件 adding: test/ (stored 0%) adding: test/99.sh (deflated 30%) adding: test/messages (deflated 90%) adding: test/shell.txt (deflated 62%) adding: test/shell.txt.bz2 (deflated 0%) |
使用-d参数将上面test3.zip中的test/shell.txt文件从压缩包中删除
[[email protected] app]# zip test3.zip -d test/shell.txt deleting: test/shell.txt |
使用-u参数,将修改了的/test/99.sh文件,把更改的信息更新到test3.zip包中
[[email protected] app]# zip -u test3.zip /test/99.sh updating: test/99.sh (deflated 30%) |
如果test目录下更新文件较多,也可以使用下面方法全部更新到test3.zip下
[[email protected] app]# zip -ru test3.zip /test/ |
将test3.zip压缩文件全部解压到/tmp目录下,并且在解压过程如如果出现相同的文件就直接进行覆盖,不要求用户确认
[[email protected] app]# unzip -o test3.zip -d /tmp/ [[email protected] test]# pwd /tmp/test [[email protected] test]# ls 99.sh messages shell.txt.bz2 |
学习自:
高俊峰《循序渐进Linux》