如何使用“bzip2”來壓縮文件

你所知道的關於Linux的一件事是有很多種。 有數百種Linux發行版,數十種桌面環境,多種辦公套件,圖形軟件包和音頻軟件包。

Linux提供的另一個領域是壓縮文件。

Windows用戶將已經知道一個zip文件是什麼,因此將使用“ zip ”和“ unzip ”命令來壓縮和解壓縮“zip”格式的文件。

另一種壓縮文件的方法是使用“gzip”命令並使用“gz”擴展名解壓文件,您可以使用“gunzip”命令。

在本指南中,我將向您展示另一個名為“bzip2”的壓縮命令。

為什麼要使用" bzip2" Over" gzip&#34 ;?

“gzip”命令使用LZ77壓縮方法。 “bzip2”壓縮工具使用“Burrows-Wheeler”算法。

那麼你應該使用哪種方法來壓縮文件?

如果您訪問此頁面,您會看到兩種壓縮方法並排匹配。

測試使用默認的壓縮設置運行每個命令,您將看到“bzip2”命令在減少文件大小方面名列前茅。

但是,如果查看壓縮文件所需的時間,則需要花費更長的時間。

值得指出的是圖表上標有“lzmash”的第三列。 這相當於在壓縮級別設置為“-9”的情況下運行“gzip”命令或使用英語“最壓縮”來運行。

默認情況下,“lzmash”命令比“gzip”命令花費的時間更長,但文件大大減少,並且小於“bzip2”等價物。 還值得注意的是,這樣做需要更少的時間。

因此,您的決定將取決於您希望壓縮多少文件以及您願意等待文件發生多久。

無論哪種方式,在這兩種情況下,“gzip”命令都稍好一些。

使用" bzip2"壓縮文件

要使用“bzip2”格式壓縮文件,請運行以下命令:

bzip2文件名

該文件將被壓縮,現在將具有擴展名“.bz2”。

即使文件變得更大,“bzip2”也會一直嘗試和壓縮文件。 當您壓縮已被壓縮的文件時,可能會發生這種情況。

如果您嘗試壓縮一個文件,該文件將導致與現有壓縮文件具有相同名稱的文件,則會發生錯誤。

例如,如果您有一個名為“file1”的文件,並且該文件夾已經有一個名為“file1.bz2”的文件,那麼在運行“bzip”命令時,您將看到以下輸出:

bzip2:輸出文件file1.bz2已經存在

如何解壓縮文件

有許多不同的方法來解壓縮帶有“bz2”擴展名的文件。

您可以使用“bzip2”命令,如下所示:

bzip2 -d filename.bz2

這將解壓縮文件並刪除“bz2”擴展名。

如果通過解壓縮該文件將導致具有相同名稱的文件被覆蓋,您將看到以下錯誤:

bzip2:輸出文件的文件名已經存在

使用“bz2”擴展名解壓縮文件的更好方法是使用“bunzip2”命令。 使用此命令,您不需要指定任何開關,如下所示:

bunzip2文件名.bz2

“bunzip2”命令的運行方式與使用減號d(-d)開關的“bzip2”命令完全相同。

“bunzip2”命令可以提取使用“bzip”或“bzip2”壓縮的任何有效文件。 除了解壓縮普通文件外,它還可以解壓縮使用“bzip2”命令壓縮過的tar文件。

默認情況下,使用“bzip2”命令壓縮的tar文件的擴展名為“.tbz2”。 當您使用“bunzip2”命令解壓縮此文件時,文件名變為“filename.tar”。

如果你有一個有“bzip2”壓縮的有效文件,但它的擴展名不同於“bzip2”,則會解壓該文件,但會在文件末尾添加“.out”擴展名。 例如“myfile.myf”將變成“myfile.out”。

如何強製文件被壓縮

如果您希望“bzip2”命令壓縮文件而不管是否已經存在帶有“bz2”擴展名的文件,那麼您可以使用以下命令:

bzip2 -f myfile

如果你有一個名為“myfile”的文件,另一個名為“myfile.bz2”,那麼當“myfile”被壓縮時,“myfile.bz2”文件將被覆蓋。

如何保留這兩個文件

如果要保留要壓縮的文件和壓縮文件,可以使用以下命令:

bzip2 -k myfile

這將保留“myfile”文件,但也會壓縮它並創建一個“myfile.bz2”文件。

您還可以使用帶有“bunzip2”命令的minus k(-k)開關在解壓文件時保留壓縮文件和未壓縮文件。

測試A" bz2" 文件

您可以使用以下命令測試文件是否使用“bzip2”壓縮機制進行壓縮:

bzip2 -t filename.bz2

如果該文件是有效的文件,則不會返回任何輸出,但如果文件無效,您將收到一條消息。

壓縮文件時使用較少的內存

如果在壓縮文件時“bzip2”命令使用的資源太多,則可以通過指定minus s(-s)開關來減少影響,如下所示:

bzip2 -s filename.bz2

請注意,使用此開關壓縮文件需要更長的時間。

壓縮文件時獲取更多信息

默認情況下,當您運行“bzip2”或“bunzip2”命令時,您不會收到任何輸出,並且剛剛出現新文件。

如果您想知道壓縮或解壓縮文件時發生了什麼,可以通過指定minus v(-v)開關來獲得更詳細的輸出 ,如下所示:

bzip2 -v文件名

輸出將顯示如下:

文件名:1.172:1在42961中,6.872位/字節14.66%保存為50341

重要的部分是保存的百分比,輸入大小和輸出大小。

恢復損壞的文件

如果您有一個破損的“bz2”文件,那麼用於嘗試恢復數據的程序如下所示:

bzip2recover filename.bz2