Linux上面有许多压缩包的指令。全新最有效的办法是xz,但全部方式都是有储存硬盘空和维护保养备份数据以便未来应用的优势。在这篇文章中,大家将较为这种缩小指令,并强调明显的差别。

海员

Tar指令并不是特定的缩小指令。它一般用以将好几个文档拉进单独文档中,便于轻轻松松传送到另一个系统软件,或是将文档做为有关组开展备份数据。它还给予了缩小作用,这很更有意义。加上Z缩小选择项能够压缩包。

当应用z选择项将缩小全过程额外到tar命令时,tar应用gzip开展缩小。

如同缩小一组文档一样,能够应用tar压缩单独文档,尽管这一实际操作与立即应用gzip对比没什么尤其的优点。要应用tar保证这一点,只需应用tar cfz newtarfile filename指令来标志要缩小的文档,如同标志一组文档一样,如下所示所显示:

$ tar cfz bigfile.tgz bigfile^^|| - 新的文档 - 将被缩小的文档$ ls -l bigfile*-rw-rw-r-- 1 shs shs 103270400 Apr 16 16:09 bigfile-rw-rw-r-- 1 shs shs 21608325 Apr 16 16:08 bigfile.tgz

一定要注意,图片大小已明显减少。

假如您想要,能够应用tar.gz后缀名,这也许会使文档的特点更为显著,但大部分Linux客户也许会意识到它与tgz的含意同样——tar和gz的组成说明该文件是一个缩小的tar文件。缩小完毕后,您将得到初始信息和压缩包。

要一起搜集很多文档并在一个指令中缩小“tar ball”,请应用同样的英语的语法,但特定要包括的文档是一个组,而不是单独文档。这儿有一个事例:

$ tar cfz bin.tgz bin/*^ ^| -- 将被包括的文档 新的文档

魅力

zip命令建立一个压缩包,与此同时维持初始文档的一致性。英语的语法和tar一样简易,可是你务必记得你的初始文件夹名称应该是cmd的最后一个主要参数。

$ zip ./bigfile.zip bigfileupdating: bigfile (deflated 79%)$ ls -l bigfile bigfile.zip-rw-rw-r-- 1 shs shs 103270400 Apr 16 11:18 bigfile-rw-rw-r-- 1 shs shs21606889 Apr 16 11:19 bigfile.zip

缩小

gzip命令很容易应用。只需输入gzip,后跟要缩小的文档的名字。与上边叙述的指令不一样,gzip将“就地”加密文件。也就是说,初始文档将被“数据加密”文档更换。

$ gzip bigfile$ ls -l bigfile*-rw-rw-r-- 1 shs shs21606751 Apr 15 17:57 bigfile.gz

bzip2

与gzip命令一样,bzip2会将选定文档“就地”缩小,而不容易留有初始文档。

$ bzip bigfile$ ls -l bigfile*-rw-rw-r-- 1 shs shs18115234 Apr 15 17:57 bigfile.bz2

修业年限

Xz是缩小指令精英团队中相对性较新的组员,它在压缩包的工作能力层面处在领先水平。像前边2个指令一样,您只必须为指令给予文件夹名称。一样,初始文档被就地缩小。

$ xz bigfile$ ls -l bigfile*-rw-rw-r-- 1 shs shs 13427236 Apr 15 17:30 bigfile.xz

针对大文件,您也许会注意到xz将比别的缩小指令耗费大量的运转時间,可是缩小結果十分让人印象深刻。

比照

大部分人都听闻过“尺寸并不是全能的”。因此,使我们较为一下图片大小,及其方案怎样压缩包时的一些难题。

下边出现的数据统计都和缩小单独文档相关。上边表明的事例中采用了bigfile。这一文档是一个非常大的任意文本文档。压缩系数在某种意义上在于文档的內容。

规格减缩率

当开展较为时,上边表明的各种各样缩小使用寿命会造成下列結果。百分数表明压缩包和初始文档中间的较为实际效果。

-rw-rw-r-- 1 shs shs 103270400 Apr 16 14:01 bigfile-------------------------------------------------------rw-rw-r-- 1 shs shs 18115234 Apr 16 13:59 bigfile.bz2~17%-rw-rw-r-- 1 shs shs 21606751 Apr 16 14:00 bigfile.gz ~21%-rw-rw-r-- 1 shs shs 21608322 Apr 16 13:59 bigfile.tgz~21%-rw-rw-r-- 1 shs shs 13427236 Apr 16 14:00 bigfile.xz ~13%-rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip~21%

xz指令获得胜利,压缩包的尺寸仅有13%,但全部这种缩小指令都明显减少了初始文档的尺寸。

更换初始文档?

bzip2.gzip和xz指令都用压缩包更换初始文档。tar和zip命令不容易被更换。

运作時间

Xz指令好像比别的指令必须越来越多的时间段来“数据加密”文档。针对bigfile,大概時间为:

指令运作時间tar 4.9 秒zip 5.2 秒bzip222.8 秒gzip4.8 秒xz 50.4 秒

解压缩文件很有可能比压缩包耗费的時间少得多。

文件权限

不管您为压缩包设定哪些管理权限,压缩包的管理权限都将根据您的umask设定,bzip2以外,它保存了初始文档的管理权限。

Windows的兼容模式。

由zip命令建立的文档能够在Windows系统和Linux以及他Unix系统软件上应用(即压缩包解压),而不用安裝别的专用工具,不管这种专用工具是不是可以用。

解压缩文件

获取文档的指令类似压缩包的指令。在大家运作以上缩小指令后,这种指令用以压缩包解压bigfile:

tar: tar xf bigfile.tgzzip: unzip bigfile.zipgzip: gunzip bigfile.gzbzip2: bunzip2 bigfile.gz2xz: xz -d bigfile.xz 或 unxz bigfile.xz

自身运作缩小较为。

假如你要自身运作一些检测,爬取一个大的和可更换的文档,并应用上边表明的每一个指令来缩小它——最好是应用一个新的根目录。假如你要在测验中包括xz,你很有可能必须先安裝它。此脚本制作很有可能更非常容易缩小,但很有可能需要数分钟才可以进行。

#!/bin/bash# 了解客户文件目录echo -n "filename> "read filename# 你需要这一,由于一些指令将更换初始文档cp $filename $filename-2# 先清除(以防此前的数据依然可以用)rm $filename.*tar cvfz ./$filename.tgz $filename > /dev/nullzip $filename.zip $filename > /dev/nullbzip2 $filename# 修复初始文档cp $filename-2 $filenamegzip $filename# 修复初始文档cp $filename-2 $filenamexz $filename# 表明結果ls -l $filename.*# 更换初始文档mv $filename-2 $filename

评论(0条)

刀客源码 游客评论