Linux中zip压缩和unzip解压缩命令详解

下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解

1、把/home目录下面的mydata目录压缩为mydata.zip

zip -r mydata.zip mydata #压缩mydata目录

2、把/home目录下面的mydata.zip解压到mydatabak目录里面

unzip mydata.zip -d mydatabak

 unzip xx.zip -d xx

3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip

zip -r abc123.zip abc 123.txt

4、把/home目录下面的wwwroot.zip直接解压到/home目录里面

unzip wwwroot.zip

5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面

unzip abc*.zip

6、查看把/home目录下面的wwwroot.zip里面的内容

unzip -v wwwroot.zip

7、验证/home目录下面的wwwroot.zip是否完整

unzip -t wwwroot.zip

8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

unzip -j wwwroot.zip

主要参数

-c:将解压缩的结果 
-l:显示压缩文件内所包含的文件 
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换 
-t:检查压缩文件是否正确 
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中 
-v:执行是时显示详细的信息 
-z:仅显示压缩文件的备注文字 
-a:对文本文件进行必要的字符转换 
-b:不要对文本文件进行字符转换 
-C:压缩文件中的文件名称区分大小写 
-j:不处理压缩文件中原有的目录路径 
-L:将压缩文件中的全部文件名改为小写 
-M:将输出结果送到more程序处理 
-n:解压缩时不要覆盖原有的文件 
-o:不必先询问用户,unzip执行后覆盖原有文件 
-P:使用zip的密码选项 
-q:执行时不显示任何信息 
-s:将文件名中的空白字符转换为底线字符 
-V:保留VMS的文件版本信息 
-X:解压缩时同时回存文件原来的UID/GID

下面给大家介绍下Linux - zip压缩、unzip解压缩命令的使用详解

由于服务器使用的是 CentOS 系统,对于文件的压缩和解压缩免不了要使用命令操作,这里我对 Linux 系统下常用的 zip 和 unzip 命令做个总结。

一、zip 压缩

1,应用实例

(1)将当前文件夹下的所有文件打包成一个 new1.zip 文件

zip new1.zip *

(2)把当前文件夹下所有 my1*.doc 的文件打包成一个 new1.zip 文件

zip new1.zip my1*.doc

(3)把一个文件 abc.txt 和一个目录 dir1 压缩成为 yasuo.zip

zip -r yasuo.zip abc.txt dir1

(4)将 /home/Blinux/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip

备注:-q 为安静模式,在压缩的时候不显示指令的执行过程

zip -qr html.zip /home/Blinux/html

(5)添加一个文件到 .zip 文件中

备注:如果当初并没有把 my32.doc 压在 new1.zip 里面,现在把它加进去。-g 选项是增加而不要重新产生的意思。

zip -g new1.zip my32.doc

(6)将更改过的文件添加到压缩包中

备注:如果当初 my2*.doc 都已经压缩进 new1.zip 里面了,但是后来 my2*.doc 中有几个文件有更改,又不想去找出到底是哪些文件更改了,这条命令请系统自行帮助检查,更改过的才更新到压缩,否则就不必动。

zip -u new1.zip my2*.doc

(7)删除除 .zip 文件中的指定文件

备注:如果当初 my18.doc 是压缩在 new1.zip 中的一个文件,现在这条命令把它从压缩文件中抽走并删掉。-d 是删除的意思。

zip -d new1.zip my18.doc

2,主要参数

-f 更新现有的文件
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
-d 指定文件解压缩后所要存储的目录
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
-r 将指定的目录下的所有子目录以及文件一起处理
-j 不处理压缩文件中原有的目录路径
-0 只存储,不压缩
-l 显示压缩文件内所包含的文件
-1 较快速度的压缩
-9 较高质量的压缩
-q 安静模式,在压缩的时候不显示指令的执行过程
-v 执行时显示详细的信息
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-z 仅显示压缩文件的备注文字
-@ 从标准输入中读取名称,一个路径名称用一行
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-x 指定不要处理.zip压缩文件中的哪些文件
-i 只压缩符合条件的文件
-F 尝试修复损坏的压缩文件
-D 压缩文件内不建立目录名称
-A 调整可执行的自动解压缩文件
-J 删除可执行文件,留下一个普通的 zip 归档文件
-T 检查备份文件内的每个文件是否正确无误
-X 解压缩时同时回存文件原来的 UID/GID
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在 UNIX 之类的系统下有效
-e 加密
-n 不压缩具有特定字尾字符串的文件
-h2 显示更多帮助
二、unzip 解压缩

1,应用实例

(1)把文件解压到当前目录下

unzip test.zip

(2)如果要把文件解压到指定的目录下,需要用到-d参数。

unzip -d /temp test.zip

(3)解压的时候,有时候不想覆盖已经存在的文件,那么可以加上 -n 参数

unzip -n test.zip
unzip -n -d /temp test.zip

(4)将压缩文件 test.zip 在指定目录 tmp 下解压缩,如果已有相同的文件存在,要求 unzip 命令覆盖原先的文件

unzip -o test.zip -d /tmp/

(5)只看一下 zip 压缩包中包含哪些文件,不进行解压缩

unzip -l test.zip

(6)查看显示的文件列表还包含压缩比率
unzip -v test.zip

(7)检查 zip 文件是否损坏
unzip -t test.zip

2,主要参数

-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-p 与 -c 参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-l 显示压缩文件内所包含的文件
-f 更新现有的文件
-t 检查压缩文件是否正确,但不解压
-u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
-z 仅显示压缩文件的备注文字
-v 执行时显示详细的信息。或查看压缩文件目录,但不解压
-T 将压缩文件内的所有文件的最新变动时间设为解压缩时候的时间
-x 指定不要处理 .zip 压缩文件中的哪些文件
-d 指定文件解压缩后所要存储的目录
-n 解压缩时不要覆盖原有的文件
-q 安静模式,执行时不显示任何信息
-o 不必先询问用户,unzip 执行后覆盖原有文件
-a 对文本文件进行必要的字符转换
-j 不处理压缩文件中原有的目录路径
-aa 把所有的文件目录当作文本处理
-U use escapes for all non-ASCII Unicode
-UU 忽略 Unicode 编码字符
-C 压缩文件中的文件名称区分大小写
-L 将压缩文件中的全部文件名改为小写
-X 解压缩时同时回存文件原来的 UID/GID
-V 保留 VMS 的文件版本信息
-K 保留文件的 setuid/setgid/tacky 属性
-M 将输出结果送到 more 程序处理
-O 指定字符编码为 DOS,Windows 和 OS/2
-I 指定字符编码为 UNIX
 
————————————————
版权声明:本文为CSDN博主「sahahsha」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/seulzz/article/details/92085070

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值