Linux中zip和unzip

zip命令用来打包.zip扩展名的压缩文件。
unzip命令用于解压缩由zip命令压缩的.zip压缩包。

zip

1
2
3
4
zip [options] [args]
#将/testDir这个目录下所有文件和文件夹打包为当前目录下的test.zip
zip -r test.zip /testDir

options:

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

unzip

1
2
3
4
unzip [options] [args]
#解压text.zip到目录/testDir下,覆盖原文件
unzip -o test.zip -d /testDir

options:

  • -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;
  • -d<目录>:指定文件解压缩后所要存储的目录;
  • -x<文件>:指定不要处理.zip压缩文件中的哪些文件;
  • -Z:unzip-Z等于执行zipinfo指令。