压缩指令 zip 和 unzip
zip 压缩
说明:
- 如果文件名中有特殊字符,那么可以用引号包裹。
- zip命令没有指令编码字符集的功能,会使用当前系统的默认值,有可能导致解压时文件名称乱码。
用法举例(指令中无特殊字符时,可以不用引号包裹) |
说明 |
zip "说明.zip" "说明.txt" |
简单压缩文件 |
zip -r "项目.zip" "项目" |
简单压缩文件夹 |
zip -rP "pass" "项目.zip" "项目" |
加密压缩文件夹,密码为 pass |
unzip test.zip |
将test.zip解压到当前文件下(如果是加密文件,会再提示输入密码) |
unzip -P "pass" 项目.zip |
解压文件,使用密码 pass |
unzip -d ./A级 -P "pass" 项目.zip |
解压文件「项目.zip」到「A级」文件夹下,没有「A级」则会自动创建 |
unzip -v 项目.zip |
查看「项目.zip」内容,但不解压 |
压缩说明
执行:zip 文本.zip 1.txt
:
- 如果「文本.zip」不存在,则直接压缩「1.txt」为「文本.zip」
- 如果「文本.zip」存在,则进行替换,就是用新的「1.txt」替换压缩包中的「1.txt」
如果此时,再执行:zip 文本.zip 2.txt
:
- 因为「文本.zip」里面已经有了压缩文件,则此时,会自动创建「文本」文件夹,把压缩包现有文件和「2.txt」这个新文件,一起放入,再压缩「文件」文件夹为「文件.zip」
- 再解压「文本.zip」,会发现解压出「文件」文件夹,文件夹内是所有搜索的文件们。
- 再执行压缩指令,该替换替换,该新添新添。
指令
以下为部分常用指令,更多指令请网上搜索
- -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
- -h 在线帮助
zip -h
- -f 更新现有的文件。
- -l 显示压缩文件内所包含的文件。
- -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
- -t 检查压缩文件是否正确。
- -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
- -v 执行是时显示详细的信息。
- -z 仅显示压缩文件的备注文字。
- -a 对文本文件进行必要的字符转换。
- -b 不要对文本文件进行字符转换。
- -C 压缩文件中的文件名称区分大小写。
- -d 从压缩文件内删除指定的文件。
- -e 压缩时加密,终端会再让输入密码
zip -e "文本.zip" "1.txt"
- -j 不处理压缩文件中原有的目录路径。
- -L 将压缩文件中的全部文件名改为小写。
- -M 将输出结果送到more程序处理。
- -n 解压缩时不要覆盖原有的文件。
- -o 不必先询问用户,unzip执行后覆盖原有文件。
- -P<密码> 使用zip的密码选项。
- -q 执行时不显示任何信息。
- -r 递归处理,压缩文件夹时需要。
- -s 将文件名中的空白字符转换为底线字符。
- -V 保留VMS的文件版本信息。
- -X 解压缩时同时回存文件原来的UID/GID。
- [.zip文件] 指定.zip压缩文件。
- [文件] 指定要处理.zip压缩文件中的哪些文件。
- -d<目录> 指定文件解压缩后所要存储的目录。
- -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
- -Z unzip -Z等于执行zipinfo指令。