zip和unzip压缩与解压
访问量:8343

一、简介

zip和unzip是linux中压缩与解压工具。zip命令,可以一个或多个文件或是目录,压缩成“.zip”格式的压缩文件;unzip,可以将zip压缩的文件解压到指定的目录。

二、语法

1、zip压缩文件或目录

zip [参数] 压缩后的形成的压缩包 需要压缩的文件或目录

备注:“压缩后的形成的压缩包”,可以带扩展名,也可以不带扩展名,如果不带扩展名,压缩后的文件,会自动加上。

比如:我想压缩当前目录下面的 dq.html文件,可以执行如下命令:

zip dq dq.html

2、unzip解压缩

zip [参数] 需要解压的压缩包

比如将上面的dq.zip中的文件,解压到家目录中,执行的命令如下:

unzip dq.zip -d ~/

三、常用参数解决

1、zip命令的常用参数

-d:从压缩文件内删除指定的文件
-D:压缩文件内不建立目录名称
-g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件
-m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
-q:不显示指令执行过程
-r:递归处理,将指定目录下的所有文件和子目录一并处理
-S:包含系统和隐藏文件
-t<日期时间>:把压缩文件的日期设成指定的日期
-v:显示指令执行过程或显示版本信息
-z:替压缩文件加上注释
-<压缩效率>:压缩效率是一个介于1~9的数值

1、unzip命令的常用参数

-l:显示压缩文件内所包含的文件
-t:检查压缩文件是否正确
-v:执行时显示详细的信息
-z:仅显示压缩文件的备注文字
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有的文件
-d<目录>:指定文件解压缩后所要存储的目录
-Z:unzip-Z等于执行zipinfo指令

四、其他

1、如何从压缩包中删除文件

使用的是zip -d 命令,比如从dq.zip中删除 dq.html文件,命令如下:

zip -d dq.zip dq.html

由于压缩包中就一个文件,删除后,就成了空压缩包了。

2、如何往压缩包中添加文件

使用的是zip -m 命令,或zip -g 命令

如往dq.zip压缩包中,新增文件 TestGo.iml  和 test.sh ,使用的命令如下:

zip -g dq.zip test.sh

压缩后,test.sh文件保留

zip -m dq.zip TestGo.iml

压缩后,TestGo.iml文件将被删除。

3、可以查看压缩包中的内容

我们可以使用unzip -z 来查看压缩包的内容,当然,我们也可以使用zipinfo来查看压缩包内容,如下:

此外,我们也可以使用unzip -l命令,如下:

4、如何从zip压缩包中提取出某一个文件

有的时候,压缩包可能很大,而我们仅仅需要压缩包中的一个或某几个文件,要是把整个压缩包解压,肯定会很耗时。此时,我们可以仅仅从压缩包中,提取指定的文件,格式如下:

unzip zip压缩包 提取的文件  -d 提取的文件存放的目录

比如,我想从 dq.zip 中,提取出所有 .sh结尾的文件,存放到 dq目录,命令如下:

unzip dq.zip *.sh -d dq