您的位置:首页 > 运维架构 > Linux

(六)Linux下的压缩命令

2015-11-11 13:44 489 查看
========================================================================================

.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。也就是压缩到哪里,在前面直接加上目录即可。

========================================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: