溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣在Linux中壓縮和解壓縮文件

發(fā)布時間:2021-09-27 15:22:30 來源:億速云 閱讀:155 作者:柒染 欄目:系統(tǒng)運維

這期內(nèi)容當中小編將會給大家?guī)碛嘘P怎樣在Linux中壓縮和解壓縮文件,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

當在備份重要文件和通過網(wǎng)絡發(fā)送大文件的時候,對文件進行壓縮非常有用。請注意,壓縮一個已經(jīng)壓縮過的文件會增加額外開銷,因此你將會得到一個更大一些的文件。所以,請不要壓縮已經(jīng)壓縮過的文件。在  GNU/Linux 中,有許多程序可以用來壓縮和解壓縮文件。在這篇教程中,我們僅學習其中兩個應用程序。

在類 Unix 系統(tǒng)中,最常見的用來壓縮文件的程序是:

  1. gzip

  2. bzip2

1. 使用 gzip 程序來壓縮和解壓縮文件

gzip 是一個使用 Lempel-Ziv 編碼(LZ77)算法來壓縮和解壓縮文件的實用工具。

1.1 壓縮文件

如果要壓縮一個名為 ostechnix.txt 的文件,使之成為 gzip 格式的壓縮文件,那么只需運行如下命令:

$ gzip ostechnix.txt

上面的命令運行結束之后,將會出現(xiàn)一個名為 ostechnix.txt.gz 的 gzip 格式壓縮文件,代替了原始的 ostechnix.txt 文件。

gzip 命令還可以有其他用法。一個有趣的例子是,我們可以將一個特定命令的輸出通過管道傳遞,然后作為 gzip 程序的輸入來創(chuàng)建一個壓縮文件??聪旅娴拿睿?/p>

$ ls -l Downloads/ | gzip > ostechnix.txt.gz

上面的命令將會創(chuàng)建一個 gzip 格式的壓縮文件,文件的內(nèi)容為 Downloads 目錄的目錄項。

1.2 壓縮文件并將輸出寫到新文件中(不覆蓋原始文件)

默認情況下,gzip 程序會壓縮給定文件,并以壓縮文件替代原始文件。但是,你也可以保留原始文件,并將輸出寫到標準輸出。比如,下面這個命令將會壓縮 ostechnix.txt 文件,并將輸出寫入文件 output.txt.gz。

$ gzip -c ostechnix.txt > output.txt.gz

類似地,要解壓縮一個 gzip 格式的壓縮文件并指定輸出文件的文件名,只需運行:

$ gzip -c -d output.txt.gz > ostechnix1.txt

上面的命令將會解壓縮 output.txt.gz 文件,并將輸出寫入到文件 ostechnix1.txt 中。在上面兩個例子中,原始文件均不會被刪除。

1.3 解壓縮文件

如果要解壓縮 ostechnix.txt.gz 文件,并以原始未壓縮版本的文件來代替它,那么只需運行:

$ gzip -d ostechnix.txt.gz

我們也可以使用 gunzip 程序來解壓縮文件:

$ gunzip ostechnix.txt.gz
1.4 在不解壓縮的情況下查看壓縮文件的內(nèi)容

如果你想在不解壓縮的情況下,使用 gzip 程序查看壓縮文件的內(nèi)容,那么可以像下面這樣使用 -c 選項:

$ gunzip -c ostechnix1.txt.gz

或者,你也可以像下面這樣使用 zcat 程序:

$ zcat ostechnix.txt.gz

你也可以通過管道將輸出傳遞給 less 命令,從而一頁一頁的來查看輸出,就像下面這樣:

$ gunzip -c ostechnix1.txt.gz | less$ zcat ostechnix.txt.gz | less

另外,zless 程序也能夠?qū)崿F(xiàn)和上面的管道同樣的功能。

$ zless ostechnix1.txt.gz
1.5 使用 gzip 壓縮文件并指定壓縮級別

gzip 的另外一個顯著優(yōu)點是支持壓縮級別。它支持下面給出的 3 個壓縮級別:

  • 1 – 最快 (最差)

  • 9 – 最慢 (***)

  • 6 – 默認級別

要壓縮名為 ostechnix.txt 的文件,使之成為“***”壓縮級別的 gzip 壓縮文件,可以運行:

$ gzip -9 ostechnix.txt
1.6 連接多個壓縮文件

我們也可以把多個需要壓縮的文件壓縮到同一個文件中。如何實現(xiàn)呢?看下面這個例子。

$ gzip -c ostechnix1.txt > output.txt.gz$ gzip -c ostechnix2.txt >> output.txt.gz

上面的兩個命令將會壓縮文件 ostechnix1.txtostechnix2.txt,并將輸出保存到一個文件 output.txt.gz 中。

你可以通過下面其中任何一個命令,在不解壓縮的情況下,查看兩個文件 ostechnix1.txtostechnix2.txt 的內(nèi)容:

$ gunzip -c output.txt.gz$ gunzip -c output.txt$ zcat output.txt.gz$ zcat output.txt

如果你想了解關于 gzip 的更多細節(jié),請參閱它的 man 手冊。

$ man gzip

2. 使用 bzip2 程序來壓縮和解壓縮文件

bzip2gzip 非常類似,但是 bzip2 使用的是 Burrows-Wheeler 塊排序壓縮算法,并使用哈夫曼Huffman編碼。使用 bzip2 壓縮的文件以 “.bz2” 擴展結尾。

正如我上面所說的, bzip2 的用法和 gzip 幾乎完全相同。只需在上面的例子中將 gzip 換成 bzip2,將 gunzip 換成 bunzip2,將 zcat 換成 bzcat 即可。

要使用 bzip2 壓縮一個文件,并以壓縮后的文件取而代之,只需運行:

$ bzip2 ostechnix.txt

如果你不想替換原始文件,那么可以使用 -c 選項,并把輸出寫入到新文件中。

$ bzip2 -c ostechnix.txt > output.txt.bz2

如果要解壓縮文件,則運行:

$ bzip2 -d ostechnix.txt.bz2

或者,

$ bunzip2 ostechnix.txt.bz2

如果要在不解壓縮的情況下查看一個壓縮文件的內(nèi)容,則運行:

$ bunzip2 -c ostechnix.txt.bz2

或者,

$ bzcat ostechnix.txt.bz2

如果你想了解關于 bzip2 的更多細節(jié),請參閱它的 man 手冊。

$ man bzip2

在這篇教程中,我們學習了 gzipbzip2 程序是什么,并通過 GNU/Linux 下的一些例子學習了如何使用它們來壓縮和解壓縮文件。

上述就是小編為大家分享的怎樣在Linux中壓縮和解壓縮文件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI