(六)Linux下的压缩命令

时间:2022-12-10 09:16:01

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

.zip格式的压缩和解压缩

 

zip  压缩文件名  源文件

 

含义:这条命令压缩的是文件。

 

zip  -r   压缩文件名  源目录

 

含义:这条命令压缩的是目录,包括目录下的文件一并压缩进去。

 

unzip   压缩文件名

 

含义:解压缩,不管是压缩的文件还是压缩的目录都用此来解压缩

 

注意:Linux下的.zip和windows下的.zip格式是一样的,也就是说windows下的.zip压缩包可以直接拿到

      Linux下解压缩

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

.gz格式的压缩和解压缩

 

gzip  源文件

 

含义:将源文件压缩为.gz格式,但是源文件会消失。

 

gzip   -c   源文件 >  压缩文件

 

含义:将源文件压缩为.gz格式,但是源文件会保留。其实原理是将压缩的.gz输入到“压缩文件”而已。

 

gzip  -r  目录

 

含义:压缩目录下的所有子文件,但是注意不能压缩目录。

 

gunzip  压缩文件

 

含义:解压缩。原有的.ga压缩文件会消失的。

 

gzip  -d   压缩文件

 

含义:解压缩。同上。

 

gunzip   -r  目录

 

含义:将目录下所有的.gz格式的文件解压缩。

 

注意:windows下的.rar格式压缩文件不能在Linux下使用。.gz格式是Linux下独有的压缩格式,但是也可以在

      windows下被解压缩。

 

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

.bz2格式的压缩与解压缩

 

bzip2  源文件

 

含义:压缩源文件为.bz2格式,不保留源文件。

 

bzip2  -k   源文件

 

含义:压缩源文件,但是保留源文件。

 

注意:.bz2不支持压缩目录。

 

bzip2  -d  压缩文件

 

含义:解压缩。如果加选项“-k”,则保留压缩文件

 

bunzip2   压缩文件

 

含义:解压缩。如果加选项“-k”,则保留压缩文件

 

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

.tar.gz和tar.bz2格式的压缩和解压缩

 

为了解决.gz格式不能压缩目录,所以Linux给出了.tar.gz的压缩格式。它的原理其实就是先将目录

(也可以将文件)打包成一个.tar格式的单一文件包,然后再使用.gz的压缩方式对其压缩。那么我

们就按照它的实现原理来讲几个命令:

 

(1)打包成.tar.gz格式。

 

先将文件或者目录打包成.tart格式,使用如下命令:

tar  -cvf   打包文件名   源文件

选项:

-c  打包的意思

-v  显示过程

-f  指定打包后的文件名

比如我们打包出了文件”cangls.tar”,然后再将其打包成.tar.gz。直接使用.gz格式的命令即可。如下:

gzip  cangls.tar

这样子最终就打包成了cangls.tar.ga格式的压缩包了。

 

(2)解压缩

 

下面我们可以一步步的将.tar.gz解压缩。首先使用.gz的命令解压成.tar格式,如下:

gunzip  cangls.tar.gz

这样子就会被解压成cangls.tar。然后再使用.tar的解压方法,如下:

tar   -xvf  cangls.tar

这样子就最终解压成了cangls。

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

上面说的是其实现原理,你可以这样子一步步来压缩。但是有没有一句话就能搞定的命令呢?当然有,

如下,

一句话将文件或者目录打包成.tar.gz格式:

tar  -zcvf   压缩包名  源文件

 

选项:

-z   就是直接打包成.tar.gz格式的意思

 

一句话将.tar.gz格式解压缩:

tar   -zxvf   压缩包名

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

而关于.tar.bz2的实现原理跟上面是一样的,这里就不再多说。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

下面做一下总结,其实.tar.gz和.tar.bz2是linux下最常用的命令。对于初学者,只需要记住一下几个命令即可:

 

一般记住下面的命令即可:

 

tar  -zcvf   压缩包名  源文件或者目录

 

含义:将源文件或者目录打包成.tar.gz格式。

 

tar   -zxvf   压缩包名

 

含义:将.tar.gz格式的包解压。

 

tar  -jcvf   压缩包名   源文件或者目录名

 

含义:将源文件或者目录压缩成.tar.bz2格式的包。

 

tar   -jxvf   压缩包名

 

含义:将.tar.bz2格式解压缩

 

 

上面的命令都是压缩到或者解压到当前目录下,如果想压缩到或者解压到其他目录下呢?

用下面的两个示例来说明一下方法吧:

 

tar  -zxvf  cangls.tar.gz  -c  /tmp/

 

含义:将cangls.tar.gz解压到tmp目录下。也就是说,后面跟上“-c  目录名”,就是要解压到的地方。

 

tar   -zcvf  /tmp/cangls.tar.gz  cangls

 

含义:将cangls压缩到/tmp目录下,并且命名为cangls.tar.gz。也就是压缩到哪里,在前面直接加上目录即可。

 

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