个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Linux专栏】🎈
本专栏旨在分享学习Linux的一点学习心得,欢迎大家在评论区讨论💌
演示环境:centos7
zip
指令用于在Linux系统上创建和管理ZIP压缩文件。
命令格式:zip [选项] <压缩文件名> <文件/目录列表>
。
常用选项如下,请看:
选项 | 作用 |
---|---|
-r | 递归地将一个目录及其所有子目录和文件压缩到ZIP文件中 |
-q | 在压缩文件时启用静默模式,即不显示压缩过程的详细信息 |
-d | 从现有的ZIP文件中删除指定的文件或目录 |
-u | 用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中 |
-f | 用于刷新(更新)现有ZIP文件中的指定文件。 |
-m | 用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。 |
-e | 用于对ZIP压缩文件进行加密。 |
-z | 为压缩文件添加注释 |
下面将对以上选项进行详细的介绍。
-r
-r选项
:用于递归地将一个目录及其所有子目录和文件压缩到ZIP文件中。
命令格式:zip -r <压缩文件名> <目录/文件>
输入命令:
zip -r mytxt .zip t1.txt t2.txt
。 结果如下:
这里要注意:deflated 27% 表示压缩率为 27%,即压缩后的文件大小是原文件的 73%。
也可以将文件和目录一起压缩,
输入命令:zip -r mytxt1.zip t1.txt t2.txt a/
结果如下:
-q
-q选项
:压缩文件时不显示压缩过程的详细信息。
输入指令:zip -q mytxt.zip t1.txt t2.txt
。
结果如下:
-d
-d选项
:(d是delete的缩写)从现有的ZIP文件中删除指定的文件或目录,可以从ZIP存档中删除不需要的文件或目录。
现在压缩文件
mytxt.zip
中存档着,文件t1.txt和t2.txt
,现在要从压缩文件mytxt.zip
中删除t1.txt
。
输入命令:rm -r mytxt.zip t1.txt
。
结果如下:
-u
-u选项
:用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中。
可以看到输入命令之前mytxt.zip
中存档着t1.txt、t2.txt、t3.txt
三个文件。
输入命令:zip -u mytxt.zip t3.txt
解释:如果mytxt.zip压缩文件中没有t3.txt,则mytxt.zip中会增加新文件t3.txt;如果有t3.txt,则会替换mytxt.zip压缩文件中的旧t3.txt为新的t3.txt。(该例属于第二种情况)
结果如下:
-f
-f选项
:用于刷新(更新)现有ZIP文件中的指定文件。
命令格式:zip -f <压缩文件名> <要刷新(更新)的文件>
输入命令:
zip -f mytxt.zip t3.txt
。
解释:更新mytxt.zip压缩文件中的t3.txt文件,如果mytxt.zip压缩文件存在该文件则会更新此文件;如果不存在则不会执行任何操作(即命令为无效命令)。
结果如下:
需要注意的是
:使用-f选项
仅更新ZIP文件中指定文件,而不会添加新文件或删除文件。如果在ZIP文件中不存在要刷新(更新)的文件,则该选项不会执行任何操作。
这里我们要对
zip -f
和zip -u
之间的区别,二者都是用于更新现有的ZIP文件,但它们的行为略有不同。不同点如下:
zip -f
:只更新已存在于ZIP文件中的文件,不会添加新文件
。不会添加、不会添加、不会添加(重要的事情说三遍)。
zip -u
:可以添加新文件并更新已存在的文件。
-m
-m选项
:用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。
输入命令:
zip -m mytxt t1.txt t2.txt t3 .txt
结果如下:
-e(加密)
-e选项
:用于对ZIP文件进行加密。
输入命令:zip -e mytest.zip t1.c t2.c
。
解释:压缩t1.c和t2.c到压缩文件mytest.zip
中,并将其保存为加密的ZIP文件。
结果如下:
-z(添加注释)
-z选项:为压缩文件添加注释。
命令格式:zip -z <添加注释的压缩文件>
输入命令:
zip -z mytxt.zip
结果如下:
输入命令
unzip -l mytxt.zip
可以查看刚刚添加的注释,请看:
好了,以上就是zip指令中常用选项的介绍。
就到这里啦,再见啦友友们!!!