黑基网 首页 服务器 Linux 查看内容

Linux下的压缩及打包命令大全及比较

2017-2-20 10:20| 投稿: lofor|

摘要: 计算机计量单位是按字节来算的,单位为byte,一般平常称大B,而计算机最小的单位是比特,单位为bit,一般称小b,1byte=8bit .压缩技术1:如果我们记录数字1,那按字节是00000001,前面有7个0,那如果压缩的话,可以把 ...

计算机计量单位是按字节来算的,单位为byte,一般平常称大B,而计算机最小的单位是比特,单位为bit,一般称小b,1byte=8bit .

压缩技术1:如果我们记录数字1,那按字节是00000001,前面有7个0,那如果压缩的话,可以把7个0有更短的方式表示,就达到压缩的目的。

压缩技术2:对相同字符压缩,比如有11111...共100个1,那可以表示为‘100个1相连’,总比写出100个1短。

当然实际的压缩算法是比较复杂的,这只是说个大概,一般来说,如是文本文件,有时好的压缩算法,可以压缩10倍左右,对其它二进制文件,不太理想。

现在硬盘空间很便宜,压缩不是那么重要了,但网络传输还是很需要压缩的,特别是大网站www服务,能压缩一点,就可以节省很大带宽,一个月可能省几万,上百万了。手机上流量也很贵,有时也需要压缩先,华为,苹果,数据库,iphone ,印度。

linux一般是做服务器用,很必要知道下面的压缩命令,目前常见的压缩文件名后辍有:

*.gz gzip压缩程序压缩的文件

.bz bzip压缩程序压缩的文件

*.tar tar打包后的文件

*.tar.gz tar打包后的文件再用gzip压缩的文件

*.tar.bz tar打包后的文件再用bzip压缩的文件

*.xz xz压缩程序压缩的文件

*.tar.xz tar打包后的文件再用xz压缩的文件

tar 命令

可以把很多文件打包成一个文件,方便传送:

这个参数非常多,一般我是用这些参数 打包

tar -cvf XXXX.tar xxx xxx xxx

其中c是新建文件,v显示压缩过程,f后面生成的文件名为XXXX.tar

解压方式如下:

tar -xvf XXXX.tar

gzip命令

gzip是目前用得最广的压缩命令,可以解开compress,zip,gzip等软件所压缩的文件。

用法,压缩: gzip xxx

解压 gunzip xxx.gz

高级用法:

gzip提供1-9级的压缩等级,默认是6级,一般是够用了,要想指定压缩级别,可以这样指定

gzip -7 xxx 按7级别来压缩

如果要不想解压就可以读里gzip文件里的内容,可以用命令zcat,用法如下:

zcat xxxx.gz

如果和tar组合起来,可以先tar打包,再用gzip压缩,如

tar -cvf xxxx.tar *

gzip xxxx.tar

解压为则为gunzip xxx.tar.gz

如果再减少一步,可以组合起来,这样压缩:tar -zcvf xxxx.tar.gz *

解压:tar -zxvf xxxx.tar.gz *

gzip命令

bzip2这个压缩比比gzip要好,用法基本和gzip相同。

用法,压缩: bzip2 xxx

解压 bunzip2 xxx.bz2

高级用法:

bzip2提供1-9级的压缩等级,默认是6级,一般是够用了,要想指定压缩级别,可以这样指定

bzip2 -7 xxx 按7级别来压缩

如果要不想解压就可以读里gzip文件里的内容,可以用命令zcat,用法如下:

bzcat xxxx.gz

如果和tar组合起来,可以先tar打包,再用gzip压缩,如

tar -cvf xxxx.tar *

bzip2 xxxx.tar

解压为则为bunzip2 xxx.tar.bz2

如果再减少一步,可以组合起来,这样压缩:tar -cjvf all.tar.bz2 *.jpg

解压: tar -jxvf xx.tar.bz2

xz命令:

它能够提供更高的压缩率,生成的文件更小,而且解压数据的速度也很快。XZ Utils 的主页上描述:对于典型文件,XZ Utils 能够生成比使用 gzip 小 30%,比使用 bzip 小 15% 的压缩文件。

xz -z 要压缩的文件

xz test.txt

如果要保留被压缩的文件加上参数 -k ,如果要设置压缩率加入参数 -0 到 -9调节压缩率。如果不设置,默认压缩等级是6.

xz -d test.txt.xz

xz -d 要解压的文件

同样使用 -k 参数来保留被解压缩的文件。

创建或解压tar.xz文件的方法

习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩。其实不行 tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。

创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz

解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。

三种压缩命令的对比:

在不同压缩级别下,压缩同一文件后的大小:

在不同压缩级别下,压缩同一文件用的时间对比:

在不同压缩级别下,解压同一文件用的时间对比:

通过上面的图,大家可以知道哪种压缩适合自己了

1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

  • 鲜花

    匿名

相关阅读

最新评论

相关分类

返回顶部