Bzip2壓縮解壓縮工具
bzip2是Julian Seward開(kāi)發(fā)并按照自由軟件/開(kāi)源軟件協(xié)議發(fā)布的數(shù)據(jù)壓縮算法及程序。
bzip2比傳統(tǒng)的gzip或者ZIP的壓縮效率更高,但是它的壓縮速度較慢。從這點(diǎn)來(lái)說(shuō),它非常類似于最近出現(xiàn)的其它一些壓縮算法。與RAR或者ZIP等其它不同的是,bzip2只是一個(gè)數(shù)據(jù)壓縮工具,而不是歸檔工具,在這一點(diǎn)上它與gzip類似。程序本身不包含用于多個(gè)文件、加密或者文檔切分的工具,相反按照UNIX的傳統(tǒng)需要使用如tar或者GnuPG這樣的外部工具。
在有些情況下,按照絕對(duì)壓縮效率來(lái)講bzip2不如7z和RAR格式。根據(jù)摩爾定律的持續(xù)效應(yīng),計(jì)算時(shí)間越來(lái)越少并且也變得越來(lái)越不重要,所以類似的壓縮方法變得越來(lái)越流行。根據(jù)作者的說(shuō)法,在目前所有已知的壓縮算法中,bzip2可以排到百分之十到十五這樣最好的一類算法中(PPM),盡管它在壓縮速度時(shí)大致快兩倍,而解壓速度有六倍快。
bzip2使用Burrows-Wheeler transform將重復(fù)出現(xiàn)的字符序列轉(zhuǎn)換成同樣字母的字符串,然后用move-to-front transform進(jìn)行處理,最后使用哈夫曼編碼進(jìn)行壓縮。在bzip2中所有的數(shù)據(jù)塊都是大小一樣的純文本數(shù)據(jù)塊,它們可以用命令行變量進(jìn)行選擇,然后用從π的十進(jìn)制表示得到的一個(gè)任意位序列標(biāo)識(shí)成壓縮文本。
起初,bzip2的前一代bzip在數(shù)據(jù)塊排列之后使用算術(shù)編碼進(jìn)行壓縮,由于軟件專利的限制現(xiàn)在已經(jīng)不再使用算術(shù)編碼。
在Unix系統(tǒng)下,bzip2可以獨(dú)立使用也可以與tar一起使用。bzip2 file壓縮文件,bzip2 -d file.bz2解壓文件,解壓也可以使用另外一個(gè)名字bunzip2。 bzip2的命令行標(biāo)志大部分與gzip相同,所以,從tar文件解壓bzip2壓縮的文件可以用:
bzcat ''archivefile''.tar.bz2 | tar -xvf -
生成bzip2壓縮的tar文件可以使用:
tar -cvf - ''filenames'' | bzip2 > ''archivefile''.tar.bz2
GNU tar支持 -j標(biāo)志,這就可以不經(jīng)過(guò)管道直接生成tar.bz2文件:
tar -cvjf ''archivefile''.tar.bz2 ''file-list''
解壓GNU tar文件可以使用:
tar -xvjf ''archivefile''.tar.bz2
Windows 版本:http://gnuwin32.sourceforge.net/packages/bzip2.htm
