概述
zip
命令的功能是用于压缩文件,解压命令为
unzip
。压缩后不覆盖源文件,可以压缩目录。
通过
zip
命令可以将文件打包成.zip格式的压缩包,里面会附含文件的名称、路径、创建时间、上次修改时间等等信息,与
tar
命令相似。
语法
该命令的语法如下:
zip[选项][参数][文件]
该命令支持的选项有:
选项说明-q不显示指令执行过程-r递归处理,将指定目录下的所有文件和子目录一起处理-z给压缩文件加上注释-v显示指令的执行过程-d删除压缩包内的文件-n <后缀>不压缩具有特定后缀的文件-e加密压缩文件-u更新或追加文件到压缩包内-f更新现有的文件-m将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中-o以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同
参数通常是指压缩文件名。
使用
压缩目录和文件【★★★★★】
要压缩当前目录的指定文件和目录,命令格式如下:
# 语法zip -r 压缩包名 待压缩的文件和目录列表
# 示例,将文件 log.txt、test.txt 和目录 test/ 压缩到 test.zip 文件中zip -r test.zip log.txt test/ test.txt
注:如果要压缩当前目录下的所有文件,可以用通配符
*
,即命令是
zip -r 压缩包名 *
。也可以用
*.txt
表示压缩指定
.txt
后缀的所有文件。
从压缩包中删除指定文件
可以通过
-d
选项删除压缩包中的指定文件:
# 语法zip -d 压缩包名 指定待删除文件
# 示例,从压缩包 test.zip 中删除 log.txt 文件zip -d test.zip log.txt
更新压缩包中的文件
如果某个文件发生了变化,我们想要将其更新到压缩包中,可以使用
-f
选项。语法如下:
# 语法zip -f 压缩包名 待更新的文件
zip -u 压缩包名 待更新或追加的文件
# 示例,更新压缩包 test.zip 中的 test.txt 文件zip -f test.zip test.txt
注:
zip -f
和
zip -u
的更新是区别的,前者只能更新已有的文件,如果压缩包中不存在这个文件则不会进行更新,也不会追加;而后者如果压缩包中存在这个文件则会进行更新,如果不存在则会进行追加到压缩包内。
加密压缩
可以使用
-u
选项对压缩包进行加密:
# 语法zip -e 压缩包名 待压缩文件或目录
# 示例zip -e mypasswd.zip /etc/passwd
版权归原作者 二木成林 所有, 如有侵权,请联系我们删除。