6.1 压缩打包介绍
Windows下我们用的最多的压缩文件是.rar和.zip格式的,而在Linux系统下,我们的压缩文件有:.tar、.gz、.tar、.gz、.bz2、.zip等。
使用压缩文件的好处是:一是可以节省磁盘空间;二是在传输时可以节省网络带宽。
下面是Linux下常见的后缀名所对应的压缩工具:
.gz:由gzip压缩工具压缩的文件。
.bz2:由bzip2压缩工具压缩的文件。
.tar:由tar打包的文件(不压缩)。
.tar.gz:先由tar打包,再由gzip压缩的文件。
.tar.bz2:先由tar打包,再由bzip2压缩的文件。
.tar.xz:先由tar打包,再用xz压缩的文件。
6.2 gzip压缩工具
gzip的格式为:gzip [ -d# ] filename,其中#为1-9,表示压缩等级,1为最差,9为最好,默认为6。
可以看到,文件file_etc.txt通过gzip压缩后,变为file_etc.txt.gz,大小也由30M压缩为11M。用gzip压缩后,原文件也会消失。
-d:在解压缩时使用。
zcat命令可以查看压缩文件的内容。
注意:gzip不支持压缩目录。
6.3 bzip2压缩工具
bzip2的格式为:bzip2 [ -dz ] filename,-z表示压缩(压缩时-z可以不加),-d表示解压缩,压缩级别有1-9,默认级别为9。
压缩:bzip2 (-z) file_etc.txt
解压缩:bzip2 -d file_etx.txt.bz2
同样,bzip2也不可以压缩目录。
6.4 xz压缩工具
xz的格式为:xz [ -dz ] filename,-z表示压缩(可以不加),-d表示解压缩。
压缩:
解压缩:
同样,xz命令也不能压缩目录:
6.5 zip压缩工具
zip的格式为:zip [ 目标文件名 ] [ 要压缩的文件或目录 ]。
zip可以压缩一个文件,也可以压缩多个文件:
压缩目录:
可以发现,不论是压缩文件还是压缩目录,都不会把源文件和源目录删除。
zip可以压缩文件和目录,使用zip压缩目录时,需要指定目录下的文件。
如果在压缩目录时,只写目录名,zip命令仅仅只是把子目录本身压缩,而不是把子目录下的文件也压缩,如果想把子目录下的文件也压缩,那么,需要加上-r参数:
zip文件的解压命令为unzip :
6.6 tar打包
tar是一个打包工具,可以把目录打包成一个文件,把所有文件整合成一个大文件,方便复制或移动。
tar的格式为:tar [ -zjJxtcvf ] filename
-z:同时用gzip压缩。
-j:同时用bzip2压缩。
-J:同时用xz压缩。
-x:解包或者解压缩。
-t:查看tar包里的文件。
-c:建立一个tar包或者压缩文件包。
-v:可视化。
-f:后面跟文件名(-f filename),如果是多个参数组合的情况下,-f要写到最后面。
6.7 打包并压缩
1、打包的同时使用gzip压缩:
使用-tf选项,可以查看包或者压缩包的文件列表:
使用-xzvf选项可以解压.tar.gz格式的压缩包:
2、打包的同时使用bzip2压缩:
使用-tf选项来查看压缩包的文件列表:
使用-jxvf选项来解压.tar.bz2格式的压缩包:
关于gzip、bzip2、xz和zip的对比: