zip
zip和unzip最初是 PKZIP 是在 MS-DOC 上实现的,之后开源社区将 PKZIP 移植到了 Linux 上这个就是 InfoZIP 项目,该项目提供了 zip/unzip 两个方法来分别进行压缩和解压缩。
Tips
目前通常不需要在使用这两个命令了,7zip能够完美地替代他。不过大多数发行版这两个是内置的。
zip
Bash
zip [options] <archive_file> <inpath> <inpath> ...
# options: zip 选项
# archive_file : 新的或现有的 zip 存档(更新)
# inpath : 要压缩的文件或文件夹,可以包含通配符
他和 tar 一样 options 具有操作和选项两种形式,操作同样涉及增删改查:
append
: 添加,这个是默认操作update/-u
: 更新,同样对比两者来决定是否更新 zip 中的文档freshen/-f
: 仅报告文件是否更新(-u 相当于 -f 后添加)delete/-d
: 删除 zip 中存档的文件copy/-U
: 相当于合并两个 zip 存档,不过他并不会修改原有的 zip 存档而是必须通过 --out 选项指定要输出的新的 zip 存档
其他选项:
-r/--recurse-paths
: 递归遍历整个目录-i <files>/--include <files>
: 指定要压缩的文件-o <out-file>/--out <out-fine>
: 指定要输出的文件, 通常在更新、删除、复制操作时不修改源文件来进行操作-P <password>/--password <password>
: 指定密码-m/--move
: 删除已经写入存档的文件(实际上就是移动),这个对于缓解磁盘空间有用处但是可能会有潜在的风险-v/--verbose
: 详细信息-s <splitsize>/--split-size <splitsize>
: 指定切分大小,之后会获取 archive.z01 archive.z02 ... archive.zip 来拆分压缩包,大小由k(kB)、m(MB)、g(GB)、t(TB)
指定-<0~9>
: 压缩等级,默认是 -6
unzip
unzip 用于查看以及解压缩 zip 档案。
-d
: 指定要输出的目录-l
: 列出存档中文件内容-n
: 永远不要覆盖现有文件,如果文件存在则跳过该文件-P <password>
: 指定密码-q
: 安静模式, -qq 更加安静