Zip

zip Linux上适用的参数:
  • -1 : 最快压缩,压缩率最差。
  • -9 : 最大压缩,压缩率最佳。
  • -b : 暂存文件的路径。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。
  • -c : 替新增或更新的文件增加一行注解。
  • -d : 从 zip 文件移出一个文件。
  • -D : 不要在 zip 文件中储存文件的目录信息。
  • -f : 以新文件取代现有文件。
  • -F : 修复已经损毁的压缩文件。
  • -g : 将文件压缩附加到 zip 文件中。
  • -h : 显示辅助说明。
  • -i : 指定要含入的某些特定文件。
  • -j : 只储存文件的名称,不含目录。
  • -k : 强迫使用 MSDOS 格式文件名。
  • -l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。
  • -L : 显示 zip 命令的版权。
  • -m : 将特定文件移入 zip 文件中,并且删除特定文件。
  • -n : 不压缩特定扩展名的文件。
  • -o : 将 zip 文件的时间设成最后修正 zip 文件的时间。
  • -q : 安静模式,不会显示相关讯息和提示。
  • -r : 包括子目录。
  • -t : 只处理 mmddyy 日期以后的文件。
  • -T : 测试 zip 文件是否正常。
  • -u : 只更新改变过的文件和新文件。
  • -v : 显示版本资讯或详细讯息。
  • -x : 不需要压缩的文件。
  • -y : 将 symbolic link 压缩,而不是压缩所连结到的文件。
  • -z : 为 zip 文件增加注解。
  • -# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩,
  • -9 表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。
  • -@ : 从标准输入读取文件名称。
  1. Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
  2. Zip 3.0 (July 5th 2008). Usage:
  3. zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  4. The default action is to add or replace zipfile entries from list, which
  5. can include the special name - to compress standard input.
  6. If zipfile and list are omitted, zip compresses stdin to stdout.
  7. -f freshen: only changed files -u update: only changed or new files
  8. -d delete entries in zipfile -m move into zipfile (delete OS files)
  9. -r recurse into directories -j junk (don't record) directory names
  10. -0 store only -l convert LF to CR LF (-ll CR LF to LF)
  11. -1 compress faster -9 compress better
  12. -q quiet operation -v verbose operation/print version info
  13. -c add one-line comments -z add zipfile comment
  14. -@ read names from stdin -o make zipfile as old as latest entry
  15. -x exclude the following names -i include only the following names
  16. -F fix zipfile (-FF try harder) -D do not add directory entries
  17. -A adjust self-extracting exe -J junk zipfile prefix (unzipsfx)
  18. -T test zipfile integrity -X eXclude eXtra file attributes
  19. -y store symbolic links as the link instead of the referenced file
  20. -e encrypt -n don't compress these suffixes
  21. -h2 show more help

例子

zip -r myfile.zip test/

将test目录下打包成myfile.zip。

unzip

unzip Linux上适用的参数:
  • -x 文件列表 解压缩文件,但不包括指定的file文件。
  • -v 查看压缩文件目录,但不解压。
  • -t 测试文件有无损坏,但不解压。
  • -d 目录 把压缩文件解到指定目录下。
  • -z 只显示压缩文件的注解。
  • -n 不覆盖已经存在的文件。
  • -o 覆盖已存在的文件且不要求用户确认。
  • -j 不重建文档的目录结构,把所有文件解压到同一目录下。
  1. UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
  2. Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
  3. Default action is to extract files in list, except those in xlist, to exdir;
  4. file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage).
  5. -p extract files to pipe, no messages -l list files (short format)
  6. -f freshen existing files, create none -t test compressed archive data
  7. -u update files, create if necessary -z display archive comment only
  8. -v list verbosely/show version info -T timestamp archive to latest
  9. -x exclude files that follow (in xlist) -d extract files into exdir
  10. modifiers:
  11. -n never overwrite existing files -q quiet mode (-qq => quieter)
  12. -o overwrite files WITHOUT prompting -a auto-convert any text files
  13. -j junk paths (do not make directories) -aa treat ALL files as text
  14. -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields
  15. -C match filenames case-insensitively -L make (some) names lowercase
  16. -X restore UID/GID info -V retain VMS version numbers
  17. -K keep setuid/setgid/tacky permissions -M pipe through "more" pager
  18. -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives
  19. -I CHARSET specify a character encoding for UNIX and other archives
  20. See "unzip -hh" or unzip.txt for more help. Examples:
  21. unzip data1 -x joe => extract all files except joe from zipfile data1.zip
  22. unzip -p foo | more => send contents of foo.zip via pipe into program more
  23. unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip —help对这个参数有一行简单的说明。

例子

unzip myfile.zip 将myfile.zip.解压到当前目录下。