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