跳至內容

bzip2

維基百科,自由的百科全書

bzip2
副檔名
.bz2, .tar.bz2, .tbz2, .tb2
網路媒體型式
application/x-bzip
類型代碼英語Type codeBzp2
開發者Julian Seward
格式類型數據壓縮
bzip2
開發者Julian Seward
當前版本1.0.8(2019年7月13日,​5年前​(2019-07-13
源代碼庫 編輯維基數據鏈接
操作系統跨平台
類型數據壓縮
許可協議BSD許可證[1]
網站bzip.org 編輯維基數據

bzip2Julian Seward開發並按照自由軟件開源軟件協議發布的數據壓縮算法及程序。Seward在1996年7月第一次公開發布了bzip2 0.15版,在隨後幾年中這個壓縮工具穩定性得到改善並且日漸流行,Seward在2000年晚些時候發布了1.0版。

壓縮效率

bzip2比傳統的gzip或者ZIP的壓縮效率更高,但是壓縮速度較慢。從這點來說,非常類似於較新的壓縮算法。與RAR或者ZIP等其它不同的是,bzip2只是數據壓縮工具,而不是歸檔工具,在這一點與gzip類似。程序本身不包含用於多個文件、加密或者文檔切分的工具,相反按照UNIX的傳統需要使用如tar或者GnuPG這樣的外部工具。

在有些情況下,按照絕對壓縮效率來講bzip2不如7z和RAR格式。根據摩爾定律的持續效應,計算時間越來越少並且也變得越來越不重要,所以類似的壓縮方法變得越來越流行。根據作者的說法,在目前所有已知的壓縮算法中,bzip2可以排到百分之十到十五這樣最好的一類算法中(PPM),儘管它在壓縮速度時大致快兩倍,而解壓速度有六倍快。

bzip2使用Burrows-Wheeler transform將重複出現的字符序列轉換成同樣字母的字符串,然後用move-to-front變換進行處理,最後使用哈夫曼編碼進行壓縮。在bzip2中所有的數據塊都是大小一樣的純文本數據塊,它們可以用命令行變量進行選擇,然後用從π的十進制表示得到的一個任意位序列標識成壓縮文本。

起初,bzip2的前一代bzip在數據塊排列之後使用算術編碼進行壓縮,由於軟件專利的限制現在已經不再使用算術編碼

使用

Unix系統下,bzip2可以獨立使用也可以與tar一起使用。bzip2 file壓縮文件,bzip2 -d file.bz2解壓文件,解壓也可以使用另外一個名字bunzip2

bzip2的命令行標誌大部分與gzip相同,所以,從tar文件解壓bzip2壓縮的文件可以用:

bzcat ''archivefile''.tar.bz2 | tar -xvf -

生成bzip2壓縮的tar文件可以使用:

tar -cvf - ''filenames'' | bzip2 > ''archivefile''.tar.bz2

GNU tar支持 -j標誌,這就可以不經過管道直接生成tar.bz2File:

tar -cvjf ''archivefile''.tar.bz2 ''file-list''

解壓GNU tar文件可以使用:

 tar -xvjf ''archivefile''.tar.bz2

參見

外部連結

參考來源

  1. ^ bzip2 : Home. Julian Seward. [2008-09-27]. (原始內容存檔於2006-12-25). Why would I want to use it? [..] Because it's open-source (BSD-style license), and, as far as I know, patent-free.