众所周知文件压缩后所占的磁盘空间比较小,而且由于文件压缩后大小变小了所以通过网络传输时速度就更快,并且减少了网络带宽资源的占用。
在服务器机房里的网络和家用的不一样,一般服务器的网络是上下行对等的。家用网络只有下载速度快,上传速度慢,所以服务器机房的网络带宽比较昂贵,压缩文件就是节省带宽资源的方法之一。
在Linux里文件的后缀名可以任意的去自定义,但是最好还是遵循常规的格式去定义文件的后缀,这有利于方便区分、识别文件。
6.2 gzip压缩工具
例如我使用gzip压缩一个1.txt文件:
解压1.txt文件:
因为这个文件在压缩前有一些虚的空间,所以压缩后再解压的文件大小就不一样了,就像海绵一样。
gzip可以指定压缩的级别,一共有1-9个级别,默认是6级别,1级别是压缩的最不严谨的,所以压缩出来的文件要大一些,但是耗费的cpu资源比较少。9则是压缩的最严谨的,但是耗费的cpu资源就比较多,一般情况下压缩级别默认即可。
指定压缩级别示例:
gunzip命令也可以解压缩文件:
使用file命令查看压缩文件的信息:
使用zcat命令查看gz格式的压缩文件的内容,这个命令实际是先解压再查看:
从以上实验可以知道使用gzip压缩文件后原本的文件会消失从而变成压缩文件,不过gzip加-c选项可以让原本的文件不消失,重新生成一个压缩文件,并且还可以指定压缩文件的存放路径:
相对的解压也可以这么做:
注意:gzip不能压缩目录
6.3 bzip2压缩工具
这个bzip工具比起gzip来说,要压缩得更狠一些,也就代表着耗费的cpu资源更多,而且这两个工具的压缩算法不一样。
最小化安装可能没有这个工具,需要使用yum install -y bzip2命令安装:
解压同样的可以使用两个命令:
可以加-c选项指定压缩文件的存放路径:
相对的解压也可以这么做:
bzip2也有压缩级别,可以指定压缩的级别,也是1-9的压缩级别,默认的压缩级别是9,所以一般情况下不需要指定压缩级别。
示例:
可以使用file查看压缩文件的信息:
bzcat命令可以查看bz2格式的压缩文件的内容,原理和gzip的zcat命令一样:
6.4 xz压缩工具
xz压缩工具和之前的两个压缩工具的用法也差不多,但是并不经常使用,但是在常用的tar包里面,会经常看到后缀为tar.xz的压缩包,所以此工具也是要了解一下的。
压缩示例:
从压缩的结果可以看出,这个xz工具对文件的压缩比前两个工具更狠,直接压缩到几十k了,相应的更耗费cpu资源。
同样的xz工具也有压缩级别,可以指定压缩的级别,也是1-9的压缩级别,默认的压缩级别是6。
解压缩示例:
可以加-c选项指定压缩文件的存放路径:
解压也可以这么做:
xzcat命令查看压缩文件的内容:
可以使用file查看压缩文件的信息:
本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972193,如需转载请自行联系原作者