Linux下zip格式文件的解压缩和压缩


 

Linux下的软件包很多都是压缩包,软件的安装就是解压缩对应的压缩包。所以,就需要熟练使用常用的压缩命令和解压缩命令。最常用的压缩格式有.tar.gz/tgz, .tar.bz,.zip文件等。

.tar.gz/.tgz,.tar.bz这两种格式都可以用tar命令生成、解压。

但是zip格式的文件的压缩和解压缩分别需要不同的命令,压缩用zip命令,解压缩用unzip命令,而且这两个命令在某些linux系统中还没有附带,得自己安装。

 

1、zip、unzip在centos下的安装

=========================

$yum install -y unzip zip

 

2、zip压缩

============

一个zip压缩文件其中包括的无非两类文件:目录和文件,所以最一般的使用方法是学会压缩目录和压缩文件。

 

(1)把/home/zzl目录下面的mydata目录压缩为mydata.zip
$zip -r mydata.zip mydata  

 

(2)把/home/zzl目录下面的abc文件夹和123.txt压缩成为abc123.zip
$zip -r abc123.zip abc 123.txt

 

3、unzip解压缩

===============

解压缩zip文件其实原理很简单,只要解压到某一个目录,或者当前目录即可。unzip命令可以直接解压,如果直接解压会把压缩包所有的内容解压到当前目录下,如果在解压的时候要指定解压到某一个目录,则可以使用-d dstDir选项指定目标目录。

 

(1)解压mydata.zip到当前目录

$unzip mydata.zip

(2)解压mydata.zip到dstDir目录

$unzip mydata.zip -d dstDir

 

4、验证压缩包是否完整

=====================

zip文件完整性验证的原理:

在压缩的时候就在,zip命令会在zip文件中存储对所有被压缩文件计算的crc值,所以,当我们要验证某一个zip文件是否完整的时候,只要重新计算一下zip中所有文件的crc值,然后和存在zip文件中的crc值对比一下,就可以知道这个zip文件是否完整了。

计算也不需要自己手动做,unzip命令提供了一个选项-t,使用它可以对zip文件的完整性进行验证。

$unzip -t mydata.zip

Archive: mydata.zip
testing: abc.txt OK
testing: dir1/ OK
testing: dir1/abc2.txt OK
No errors detected in compressed data of mydata.zip.

当看到上面的红色字的时候,表明mydata.zip没有问题。

 

以上的几个命令是使用zip的最小命令组,熟练使用之后,可以确保压缩、解压缩一切文件。

 

参考资料:

1、https://www.jb51.net/LINUXjishu/105916.html