QuietHeart's Site

Linux命令学习手册-zip


参考资料:

http://www.bokee.net/company/weblog_viewEntry/38050.html

http://www.cnblogs.com/analyzer/articles/1218951.html

http://blog.sina.com.cn/s/blog_4b50b18f0100bbqt.html

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [-b path] [-n suffixes] [-t mmddyyyy] [-tt mmddyyyy] [ zipfile [ file1

file2 …]] [-xi list]

或zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件…][-i <

范本样式>][-x <范本样式>]

【功能】

zip 可用来压缩文件,如果我们有许多文件需要做压缩,甚至可以将它们一并处理并压缩成一个文件。

【举例】

这里不详细列举,只给出最最常用的例子,其余的查man手册。后面也有各个选项的详细说明。

*递归地压缩目录testZip到testzip.zip:

$ zip -r testzip.zip testZip

输入之后,输出:

adding: testZip/ (stored 0%)

adding: testZip/test/ (stored 0%)

adding: testZip/test/good (stored 0%)

这里,testzip.zip后面是待压缩的目录,可以为多个目录或者文件,它们之间用空格分开,这样目录中的所有文件都会被递归地压缩到testzip.zip中。

*解压已经压缩的文件testzip.zip:

$unzip testzip.zip

输入之后,输出如下:

Archive: testzip.zip

creating: testZip/

creating: testZip/test/

extracting: testZip/test/good

这样,把压缩过的文件原封不动地从压缩包里面解压出来了(解压到当前的目录)。

*非递归压缩目录testZip到testzip.zip:

$zip testZip.zip testZip/

输入之后,输出如下:

adding: testZip/ (stored 0%)

这样压缩后的文件,仅仅是压缩了一个空目录testZip,目录中的文件和子目录并没有包含进去,解压之后也只是得到了一个空目录,这个命令似乎没有什么用处。

【描述】

zip 和 unzip 程序位于 /usr/bin 目录中,它们和 MS - DOS 下的 pkzip、pkunzip 以及 MS-windows 的 Winzip 软件功能一样、可将文件压缩成 .zip 文件以节省硬盘空间,而当需要的时候再将压缩文件解开。

zip 命令在许多 OS 平台都有,而且参数相当多,在此我只介绍一些Linux 上适用的参数 :

-<压缩效率>:压缩效率是一个介于1-9的数值。

-1 : 最快压缩,压缩率最差。

-9 : 最大压缩,压缩率最佳。

-A 调整可执行的自动解压缩文件。

-b<工作目录>:指定暂时存放文件的目录。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。

-c : 替新增或更新的文件增加一行注解。

-d : 从 zip 文件移出指定的文件。

-D : 不要在 zip 文件中建立目录名称。

-f :效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。

-F :尝试修复已损坏的压缩文件。

-g :将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。

-h : 显示辅助说明。

-i<范本样式> 只压缩符合条件的文件。

-j : 只保存文件名称及其内容,而不存放任何目录名称。

-J :删除压缩文件前面不必要的数据。

-k : 强迫使用 MSDOS 格式文件名。

-l : 压缩文件时,把LF字符置换成LF+CR字符。这里CR ( Carriage Return ) LF ( Line Feed ) 一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。

-ll :压缩文件时,把LF+CR字符置换成LF字符

-L : 显示 zip 命令的版权。

-m :将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-n<字尾字符串>: 不压缩具有特定字尾字符串(特定扩展名)的文件。

-o : 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

-q : 安静模式,不会显示指令执行过程相关讯息和提示。

-r : 递归处理,将指定目录下的所有文件和子目录一并处理。

-S 包含系统和隐藏文件。

-t<日期时间>: 把压缩日期设成指定的日期,只处理 mmddyy 日期以后的文件不处理之前的文件。

-T : 测试 zip 文件是否正常,备份文件内的每个文件是否正确无误。

-u : 只更新改变过的文件和新文件(更换较新的文件到压缩文件内)。

-v : 显示指令执行过程或显示版本信息。

-V :保存VMS操作系统的文件属性。

-w :在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。

-x<范本样式>: 压缩时排除符合条件的文件(不需要压缩的文件)。

-X :不保存额外的文件属性。

-y : 直接压缩符号(symbolic link)连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。

-z : 为 zip 文件增加注解。

-$ :保存第一个被压缩文件所在磁盘的卷册名称。

-# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩, -9 表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。

-@ : 从标准输入读取文件名称。

【其它】