bzip2
副檔名 |
.bz2, .tar.bz2, .tbz2, .tb2 |
---|---|
網路媒體型式 |
application/x-bzip |
類型代碼 | Bzp2 |
開發者 | Julian Seward |
格式類型 | 數據壓縮 |
開發者 | Julian Seward |
---|---|
當前版本 | 1.0.8(2019年7月13日 | )
源代碼庫 | |
操作系統 | 跨平台 |
類型 | 數據壓縮 |
許可協議 | BSD許可證[1] |
網站 | bzip |
bzip2是Julian 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
參見
[編輯]外部連結
[編輯]- bzip2與libbzip2主頁
- 用於Windows的bzip2 (頁面存檔備份,存於網際網路檔案館)
- MacBzip2(頁面存檔備份,存於網際網路檔案館)(for Classic Mac OS;under Mac OS X,the standard bzip2 is available at the command line)
- bzip2smp(頁面存檔備份,存於網際網路檔案館)(用於多處理器或者多內核機器上的bzip2 並行計算版本)
- 4 Parallel bzip2 Implementations(頁面存檔備份,存於網際網路檔案館) at The Data Compression News Blog
參考來源
[編輯]- ^ 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.