Linux:zip包的压缩与解压
压缩文件: zip
命令
语法:
zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]
补充说明:zip
是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。
参数:
-A
调整可执行的自动解压缩文件。
-b <工作目录>
指定暂时存放文件的目录。
-c
替每个被压缩的文件加上注释。
-d
从压缩文件内删除指定的文件。
-D
压缩文件内不建立目录名称。
-f
此参数的效果和指定-u
参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-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
更换较新的文件到压缩文件内。
-v
显示指令执行过程或显示版本信息。
-V
保存VMS
操作系统的文件属性。
-w
在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x <范本样式>
压缩时排除符合条件的文件。
-X
不保存额外的文件属性。
-y
直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX
之类的系统下有效。
-z
替压缩文件加上注释。
-$
保存第一个被压缩文件所在磁盘的卷册名称。
- <压缩效率>
压缩效率是一个介于1-9的数值。
解压缩zip
文件:unzip
命令详解
语法:
unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]
补充说明:unzip
为.zip
压缩文件的解压缩程序。
参数:
-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
指令
范例:
zip
命令可以用来将文件压缩成为常用的zip
格式。unzip
命令则用来解压缩zip
文件。
- 想把一个文件
abc.txt
和一个目录dir
压缩成为test.zip
:
zip -r test.zip abc.txt dir
- 下载了一个
test.zip
文件,想解压缩:
unzip test.zip
- 当前目录下有
abc1.zip
,abc2.zip
和abc3.zip
,想一起解压缩它们:
unzip abc\?.zip
注释:?
表示一个字符,如果用\*
表示任意多个字符。
- 有一个很大的压缩文件
large.zip
,不想解压缩,只想看看它里面有什么:
unzip -v large.zip
- 下载了一个压缩文件
large.zip
,想验证一下这个压缩文件是否下载完全了
unzip -t large.zip
- 用
-v
选项发现music.zip
压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3
文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录:
unzip -j music.zip