UNIX/LINUX壓縮工具 bzip2詳解

bzip2

bzip2 是一個基於Burrows-Wheeler 變換的無損壓縮軟件,壓縮效果比傳統的LZ77/LZ78壓縮演算法來得好。它免費提供,具有高質量的數據壓縮能力。bzip2 利用先進的壓縮技術,能夠把文件壓縮到10%至15%,壓縮的速度和解壓的效率都非常高!若沒有加上任何參數,bzip2壓縮完文件後會產生.bz2的壓縮文件,並刪除原始的文件。

是爲了取代gzip而存在的,壓縮比比gzip要高。

bzcat:用來顯示壓縮的文本文件的內容;

bunzip2:用來解壓壓縮後的.bz2文件,和-d功能是一樣的;

bzip2recover:用來嘗試恢復損毀的壓縮文件。

參  數:
 -c或--stdout  將壓縮與解壓縮的結果送到標準輸出。 
 -d或--decompress  執行解壓縮。 
 -f或--force  bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數。 
 -h或--help  顯示幫助。 
 -k或--keep  bzip2在壓縮或解壓縮後,會刪除原始的文件。若要保留原始文件,請使用此參數。 
 -s或--small  降低程序執行時內存的使用量。 
 -t或--test  測試.bz2壓縮文件的完整性。 
 -v或--verbose  壓縮或解壓縮文件時,顯示詳細的信息。 
 -z或--compress  強制執行壓縮。 
 -L,--license,
 -V或--version  顯示版本信息。 
 --repetitive-best  若文件中有重複出現的資料時,可利用此參數提高壓縮效果。 
 --repetitive-fast  若文件中有重複出現的資料時,可利用此參數加快執行速度。 
 -壓縮等級  壓縮時的區塊大小。 -9 最佳, -1 最快,默認的是-6。

範例一:

將剛剛的 /tmp/man.config 以 bzip2 壓縮
[root@linux tmp]# bzip2 -z man.config
此時 man.config 會變成 man.config.bz2 !

範例二:
將範例一的文件內容讀出來!
[root@linux tmp]# bzcat man.config.bz2
此時屏幕上會顯示 man.config.bz2 解壓縮之後的文件內容!!

範例三:
將範例一的文件解壓縮
[root@linux tmp]# bzip2 -d man.config.bz2

範例四:
將範例三將 man.config 用最佳的壓縮比壓縮,並保留原本的文件

[root@linux tmp]# bzip2 -9 -k man.config 

這個是我改的,網上原文是這樣的:

範例四:將範例三解開的 man.config 用最佳的壓縮比壓縮,並保留原本的文件
[root@linux tmp]# bzip2 -9 -c man.config > man.config.bz2

範例五:解壓到標準輸出:
$bzip2 -dc filename.bz2
這裏,使用-c指定到標準輸出,輸出的是文件filename的內容,不會將filename.bz2刪除。

範例六,壓縮到標準輸出:
$bzip2 -c filename
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
這裏,使用-c指定壓縮到標準輸出不刪除原有文件,不同的是,壓縮後的文件無法輸出到標準輸出。

範例七,使用bzip2的時候將所有後面的看作文件(即使文件名以'-'開頭):
$bzip2 -- -myfilename
這裏主要是爲了防止文件名中'-'產生以爲是選項的歧義。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章