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
。 -
-@
: 从标准输入读取文件名称。
其它
参考资料: