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目录下的所有文件以及目录进行压缩

[root@c7 app]# zip -9r test.zip test/

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

[root@c7 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

[root@c7 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文件从压缩包中删除

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

deleting: test/shell.txt

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

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

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

    如果test目录下更新文件较多,也可以使用下面方法全部更新到test3.zip下

[root@c7 app]# zip -ru test3.zip /test/

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

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

[root@c7 test]# pwd

/tmp/test

[root@c7 test]# ls

99.sh  messages  shell.txt.bz2


学习自:

高俊峰《循序渐进Linux》



      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1876259,如需转载请自行联系原作者





相关文章
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
2天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)
|
2天前
|
Linux Shell Windows
Linux 常用基本命令
Linux 常用基本命令
|
3天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
3天前
|
Linux
【Linux】常用命令
【Linux】常用命令
24 0
|
3天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
16 0
Linux 网络操作命令Telnet
|
4天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
30 0
|
4天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
9 0
|
5天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
18 0
|
8天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
18 0