1.命令簡(jiǎn)介
bzip2 用來(lái)壓縮和解壓縮文件,是在 Linux 系統(tǒng)中經(jīng)常使用的一個(gè)對(duì)文件進(jìn)行壓縮和解壓縮的命令,采用 Burrow-Wheeler 塊排序文本壓縮算法和 Huffman 編碼將文件壓縮為后綴為 .bz2 的 bzip2 文件。壓縮率一般比基于 LZ77/LZ78 的壓縮軟件好得多,其性能接近 PPM 族統(tǒng)計(jì)類壓縮軟件。
bzip2 不僅可以用來(lái)壓縮大的、較少使用的文件以節(jié)省磁盤空間,還可以和 tar 命令一起使用完成對(duì)文件的打包和壓縮。減少文件大小有兩個(gè)明顯的好處,一是可以減少存儲(chǔ)空間,二是通過(guò)網(wǎng)絡(luò)傳輸文件時(shí),可以減少傳輸?shù)臅r(shí)間。
2.命令格式
bzip2 [OPTIONS] [FILES...]
bzip2 命令行參數(shù)有意設(shè)計(jì)為接近 GNU gzip 的形式,但也不完全相同。bzip2 從命令行讀入選項(xiàng)和文件名。 每個(gè)文件被名為 “原始文件名.bz2” 的壓縮文件替換。 每個(gè)壓縮文件具有與原文件相同的修改時(shí)間、 權(quán)限, 如果可能的話, 還具有相同的屬主, 因此在解壓縮時(shí)這些特性將被正確地恢復(fù)。
bzip2 在缺省情況下不覆蓋已有的文件。 如果想覆蓋已有的文件,要指定 -f 選項(xiàng)。
3.選項(xiàng)說(shuō)明
-c, --stdout
將數(shù)據(jù)壓縮或解壓縮輸出至標(biāo)準(zhǔn)輸出
-d, --decompress
強(qiáng)制解壓縮。 bzip2, bunzip2 以及 bzcat 實(shí)際上是同一個(gè)程序,進(jìn)行何種操作將根據(jù)程序名確定。 指定該選項(xiàng)后將不考慮這一機(jī)制,強(qiáng)制 bzip2 進(jìn)行解壓縮
-z, --compress
-d 選項(xiàng)的補(bǔ)充:強(qiáng)制進(jìn)行壓縮操作,而不管執(zhí)行的是哪個(gè)程序
-t, --test
檢查指定文件的完整性,但并不對(duì)其解壓縮。 實(shí)際上將對(duì)數(shù)據(jù)進(jìn)行實(shí)驗(yàn)性的解壓縮操作,而不輸出結(jié)果
-f, -force
強(qiáng)制覆蓋輸出文件。通常 bzip2 不會(huì)覆蓋已經(jīng)存在的文件。該選項(xiàng)還強(qiáng)制 bzip2 打破文件的硬連接,缺省情況下 bzip2 不會(huì)這么做。
-k, --keep
在壓縮或解壓縮時(shí)保留輸入文件(不刪除這些文件)
-s, --small
在壓縮、解壓縮及檢查時(shí)減少內(nèi)存用量。 采用一種修正的算法進(jìn)行壓縮和測(cè)試, 每個(gè)數(shù)據(jù)塊僅需要 2.5 個(gè)字節(jié)。 這意味著任何文件都可以在 2300K 的內(nèi)存中進(jìn)行解壓縮, 盡管速度只有通常情況下的一半。在壓縮時(shí),-s 將選定 200K 的塊長(zhǎng)度,內(nèi)存用量也限制在 200K 左右, 代價(jià)是壓縮率會(huì)降低。 總之,如果機(jī)器的內(nèi)存較少(8MB 或更少), 可對(duì)所有操作都采用 -s 選項(xiàng)
-q, --quiet
壓制不重要的警告信息。屬于 I/O 錯(cuò)誤及其它嚴(yán)重事件的信息將不會(huì)被壓制
-v, --verbose
詳盡模式——顯示每個(gè)被處理文件的壓縮率。 命令行中更多的 -v 選項(xiàng)將增加詳細(xì)的程度, 使 bzip2 顯示出許多主要用于診斷目的信息
-L, --license, -V, --version
顯示顯示軟件版本、許可證條款及分發(fā)條件
-1 (or --fast) to -9 (or --best)
在壓縮時(shí)將塊長(zhǎng)度設(shè)為 100 k、200 k ... 900 k。 對(duì)解壓縮沒(méi)有影響
--
將所有后面的命令行變量看作文件名,即使這些變量以減號(hào) - 打頭。 可用這一選項(xiàng)處理以減號(hào) - 打頭的文件名, 例如:bzip2 -- -myfilename
--repetitive-fast, --repetitive-best
這些選項(xiàng)在 0.9.5 及其以上版本中是多余的。 在較早的版本中,這兩個(gè)選項(xiàng)對(duì)排序算法的行為提供了一些粗糙的控制,有些情況下很有用。 0.9.5 及其以上版本采用了改進(jìn)的算法而與這些選項(xiàng)無(wú)關(guān)
4.常用示例
(1)不保留原文件壓縮。
壓縮后 /etc/passwd 將變?yōu)?/etc/passwd.bz2。
(2) 保留原文件壓縮。
bzip2 -k /etc/passwd
# 或
bzip2 -c /etc/passwd > /etc/passwd.bz2
(3)壓縮時(shí)顯示指令執(zhí)行過(guò)程。
bzip2 -v /etc/passwd
/etc/passwd: 2.256:1, 3.546 bits/byte, 55.67% saved, 1552 in, 688 out.
(4)解壓 .bz2 文件,不保留原文件。
(5)解壓 .bz2 文件,保留原文件。
bzip2 -dk /etc/passwd.bz2
# 或
bzip2 -dc /etc/passwd.bz2 > /etc/passwd
(6)測(cè)試.bz2壓縮文件的完整性,實(shí)際上不解壓。
bzip2 -tv /etc/passwd.bz2
/etc/passwd.bz2: ok
以上就是Linux bzip2 命令的使用的詳細(xì)內(nèi)容,更多關(guān)于Linux bzip2 命令的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!