Linux命令学习手册-zip

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 手册。后面也有各个选项的详细说明。

递归地压缩目录 testZiptestzip.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

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

非递归压缩目录 testZiptestzip.zip

$zip testZip.zip testZip/

输入之后,输出如下:

adding: testZip/ (stored 0%)

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

描述

zipunzip 程序位于 /usr/bin 目录中,它们和 MS-DOS 下的 pkzippkunzip 以及 MS-windowsWinzip 软件功能一样、可将文件压缩成 .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
  • -@ : 从标准输入读取文件名称。

其它

参考资料:

  • 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

你可能感兴趣的:(Linux命令学习手册-zip)