自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Linux中壓縮和解壓縮文件

系統(tǒng) Linux
當(dāng)在備份重要文件和通過網(wǎng)絡(luò)發(fā)送大文件的時候,對文件進(jìn)行壓縮非常有用。請注意,壓縮一個已經(jīng)壓縮過的文件會增加額外開銷,因此你將會得到一個更大一些的文件

[[243724]]

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

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

  1. gzip
  2. bzip2

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

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

1.1 壓縮文件

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

  1. $ gzip ostechnix.txt

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

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

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

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

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

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

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

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

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

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

1.3 解壓縮文件

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

  1. $ gzip -d ostechnix.txt.gz

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

  1. $ gunzip ostechnix.txt.gz

1.4 在不解壓縮的情況下查看壓縮文件的內(nèi)容

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

  1. $ gunzip -c ostechnix1.txt.gz

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

  1. $ zcat ostechnix.txt.gz

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

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

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

  1. $ zless ostechnix1.txt.gz

1.5 使用 gzip 壓縮文件并指定壓縮級別

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

  • 1 – 最快 (最差)
  • 9 – 最慢 (***)
  • 6 – 默認(rèn)級別

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

  1. $ gzip -9 ostechnix.txt

1.6 連接多個壓縮文件

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

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

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

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

  1. $ gunzip -c output.txt.gz
  2. $ gunzip -c output.txt
  3. $ zcat output.txt.gz
  4. $ zcat output.txt

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

  1. $ man gzip

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

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

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

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

  1. $ bzip2 ostechnix.txt

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

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

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

  1. $ bzip2 -d ostechnix.txt.bz2

或者,

  1. $ bunzip2 ostechnix.txt.bz2

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

  1. $ bunzip2 -c ostechnix.txt.bz2

或者,

  1. $ bzcat ostechnix.txt.bz2

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

  1. $ man bzip2

總結(jié) 

在這篇教程中,我們學(xué)習(xí)了 gzipbzip2 程序是什么,并通過 GNU/Linux 下的一些例子學(xué)習(xí)了如何使用它們來壓縮和解壓縮文件。接下來,我們將要學(xué)習(xí)如何在 Linux 中將文件和目錄歸檔。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2012-05-10 09:43:28

2016-11-17 22:02:13

Linux壓縮及解壓縮

2021-02-22 07:58:52

Linux壓縮解壓

2009-10-21 09:10:52

VB.NET壓縮

2023-01-30 09:04:56

Linux命令unzip

2010-01-04 09:27:31

Linux壓縮解壓縮命令詳解

2021-08-10 11:09:06

Linux壓縮神器命令

2019-04-26 09:50:21

Linux壓縮文件文件夾

2023-10-18 08:28:17

Linux壓縮

2023-03-29 08:59:59

Go壓縮包文檔

2023-12-21 07:30:36

PythonZipfileTarfile

2011-07-27 16:26:42

iPhone 解壓 gzip

2024-01-04 12:47:00

Linux命令工具

2024-06-20 08:09:24

2018-06-01 10:37:26

Linux歸檔文件壓縮文件

2009-12-16 16:11:14

Linux壓縮文件

2009-12-25 17:55:05

Linux tar

2010-06-24 09:29:02

Linux Bzip2

2011-08-15 14:07:53

Objective-C解壓縮ZIP文件

2020-11-08 14:37:46

Python壓縮文件代碼
點贊
收藏

51CTO技術(shù)棧公眾號