zip压缩、unzip解压缩命令的使用详解

作者: deepwinter 分类: 服务器 发布时间: 2019-04-11 10:09 点击量: 580 次阅读

转自: http://www.hangge.com/blog/cache/detail_1666.html

1. zip压缩

1.1. 应用实例

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

zip new1.zip *

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

zip new1.zip my1*.doc

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

zip -r yasuo.zip abc.txt dir1

/home/Blinux/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip
说明: -q为安静模式,在压缩的时候不显示指令的执行过程

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

添加一个文件到.zip文件中
说明: 如果当初并没有把my32.doc压在new1.zip里面,现在把它加进去。-g选项是增加而不要重新产生的意思。

zip -g new1.zip my32.doc

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

zip -u new1.zip my2*.doc

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

zip -d new1.zip my18.doc

1.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 显示更多帮助

2. unzip解压缩

2.1. 应用实例

把文件解压到当前目录下

unzip test.zip

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

unzip -d /temp test.zip

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

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

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

unzip -o test.zip -d /tmp/

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

unzip -l test.zip

查看显示的文件列表还包含压缩比率

unzip -v test.zip

检查zip文件是否损坏

unzip -t test.zip

2.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 指定字符编码为DOSWindowsOS/2
  • -I 指定字符编码为UNIX

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注