Linux zip/unzip命令

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的数值。

例子

例1. 压缩test.MYI

[root@mysql test]# zip test1.zip test.MYI

adding: test.MYI (deflated 42%)

[root@mysql test]#ll

-rw-r–r– 1 root    root    1033755 09-24 10:03 test1.zip

压缩率为8的

[root@mysql test]# zip test2.zip -8 test.MYI

adding: test.MYI (deflated 42%)

[root@mysql test]#ll

-rw-r–r– 1 root    root    1033451 09-24 10:03 test2.zip

例2.   将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件

[root@mysql test]# zip -r test.zip ./*

打包目录

[root@mysql test]# zip test2.zip test2/*

例3.   删除压缩文件test1.zip中test.MYI文件

[root@mysql test]# zip -d test1.zip test.MYI

删除打包文件目录下的文件

[root@mysql test]# zip -d test2.zip test2/ln.log

deleting: tests/ln.log

例4.   向压缩文件中test1.zip中添加test. MYI文件

[root@mysql test]# zip -m test1.zip test. MYI

例5.   压缩文件时排除某个文件

[root@mysql test]# zip test3.zip tests/* -x tests/ln.log

unzip

功能说明:解压缩zip文件

语法: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指令。

例1:将压缩文件text.zip在当前目录下解压缩。

[root@mysql test]# unzip test.zip

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

[root@mysql test]# unzip -n test.zip -d /tmp

例3:查看压缩文件目录,但不解压。

[root@mysql test]# unzip -v test.zip

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

[root@mysql test]# unzip -o test.zip -d tmp/

使用

unzip “*.zip”

ls *.zip | xargs -n1 unzip

解压当前目录下的所有zip文件