侧边栏壁纸
博主头像
WinJay博主等级

博观而约取 厚积而薄发

  • 累计撰写 306 篇文章
  • 累计创建 165 个标签
  • 累计收到 1 条评论
隐藏侧边栏

Linux中zip与unzip命令的基本使用

WinJay
2021-11-11 / 0 评论 / 0 点赞 / 19 阅读 / 2,475 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-12-15,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Linux zip 命令

Linux zip 命令用于压缩文件。

zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip

语法

zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]

参数

  • -A 调整可执行的自动解压缩文件。
  • -b<工作目录> 指定暂时存放文件的目录。
  • -c 替每个被压缩的文件加上注释。
  • -d 从压缩文件内删除指定的文件。
  • -D 压缩文件内不建立目录名称。
  • -f 更新现有的文件。
  • -F 尝试修复已损坏的压缩文件。
  • -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
  • -h 在线帮助。
  • -i<范本样式> 只压缩符合条件的文件。
  • -j 只保存文件名称及其内容,而不存放任何目录名称。
  • -J 删除压缩文件前面不必要的数据。
  • -k 使用MS-DOS兼容格式的文件名称。
  • -l 压缩文件时,把LF字符置换成LF+CR字符。
  • -ll 压缩文件时,把LF+CR字符置换成LF字符。
  • -L 显示版权信息。
  • -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
  • -n<字尾字符串> 不压缩具有特定字尾字符串的文件。
  • -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
  • -q 不显示指令执行过程。
  • -r 递归处理,将指定目录下的所有文件和子目录一并处理。
  • -S 包含系统和隐藏文件。
  • -t<日期时间> 把压缩文件的日期设成指定的日期。
  • -T 检查备份文件内的每个文件是否正确无误。
  • -u 与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
  • -v 显示指令执行过程或显示版本信息。
  • -V 保存VMS操作系统的文件属性。
  • -w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
  • -x<范本样式> 压缩时排除符合条件的文件。
  • -X 不保存额外的文件属性。
  • -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
  • -z 替压缩文件加上注释。
  • -$ 保存第一个被压缩文件所在磁盘的卷册名称。
  • -<压缩效率> 压缩效率是一个介于1-9的数值。

实例

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

zip -q -r html.zip /home/html

如果在我们在 /home/html 目录下,可以执行以下命令:

zip -q -r html.zip *

从压缩文件 cp.zip 中删除文件 a.c

zip -dv cp.zip a.c

Linux unzip 命令

Linux unzip命令用于解压缩zip文件

unzip为.zip压缩文件的解压缩程序。

语法

unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]

参数

  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  • -f 更新现有的文件。
  • -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。
  • [.zip文件] 指定.zip压缩文件。
  • [文件] 指定要处理.zip压缩文件中的哪些文件。
  • -d <目录> 指定文件解压缩后所要存储的目录。
  • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
  • -Z unzip -Z等于执行zipinfo指令。

实例

查看压缩文件中包含的文件:

# unzip -l abc.zip 
Archive: abc.zip
 Length   Date  Time  Name
--------  ----  ----  ----
  94618 05-21-10 20:44  a11.jpg
  202001 05-21-10 20:44  a22.jpg
    16 05-22-10 15:01  11.txt
  46468 05-23-10 10:30  w456.JPG
  140085 03-14-10 21:49  my.asp
--------          -------
  483188          5 files

-v 参数用于查看压缩文件目录信息,但是不解压该文件。

# unzip -v abc.zip 
Archive: abc.zip
Length  Method  Size Ratio  Date  Time  CRC-32  Name
-------- ------ ------- -----  ----  ----  ------  ----
  94618 Defl:N  93353  1% 05-21-10 20:44 9e661437 a11.jpg
 202001 Defl:N  201833  0% 05-21-10 20:44 1da462eb a22.jpg
   16 Stored    16  0% 05-22-10 15:01 ae8a9910 ? +-|¥+-? (11).txt
  46468 Defl:N  39997 14% 05-23-10 10:30 962861f2 w456.JPG
 140085 Defl:N  36765 74% 03-14-10 21:49 836fcc3f my.asp
--------     ------- ---              -------
 483188      371964 23%              5 files
0

评论区