python解壓gz linux怎樣解壓 gz檔案

2021-10-11 03:24:03 字數 2904 閱讀 5390

gzip

bzip2

1. 使用 gzip 程式來壓縮和解壓縮檔案

gzip 是乙個使用 lempel-ziv 編碼(lz77)演算法來壓縮和解壓縮檔案的實用工具。

1.1 壓縮檔案

如果要壓縮乙個名為 ostechnix.txt 的檔案,使之成為 gzip 格式的壓縮檔案,那麼只需執行如下命令:

$ gzip ostechnix.txt

上面的命令執行結束之後,將會出現乙個名為 ostechnix.txt.gz 的 gzip 格式壓縮檔案,代替了原始的 ostechnix.txt 檔案。

gzip 命令還可以有其他用法。乙個有趣的例子是,我們可以將乙個特定命令的輸出通過管道傳遞,然後作為 gzip 程式的輸入來建立乙個壓縮檔案。看下面的命令:

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

上面的命令將會建立乙個 gzip 格式的壓縮檔案,檔案的內容為 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 在不解壓縮的情況下檢視壓縮檔案的內容

如果你想在不解壓縮的情況下,使用 gzip 程式檢視壓縮檔案的內容,那麼可以像下面這樣使用 -c 選項:

$ gunzip -c ostechnix1.txt.gz

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

$ zcat ostechnix.txt.gz

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

$ gunzip -c ostechnix1.txt.gz | less

$ zcat ostechnix.txt.gz | less

另外,zless 程式也能夠實現和上面的管道同樣的功能。

$ zless ostechnix1.txt.gz

1.5 使用 gzip 壓縮檔案並指定壓縮級別

gzip 的另外乙個顯著優點是支援壓縮級別。它支援下面給出的 3 個壓縮級別:

1 – 最快 (最差)

9 – 最慢 (最好)

6 – 預設級別

要壓縮名為 ostechnix.txt 的檔案,使之成為「最好」壓縮級別的 gzip 壓縮檔案,可以執行:

$ gzip -9 ostechnix.txt

1.6 連線多個壓縮檔案

我們也可以把多個需要壓縮的檔案壓縮到同乙個檔案中。如何實現呢?看下面這個例子。

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

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

上面的兩個命令將會壓縮檔案 ostechnix1.txt 和 ostechnix2.txt,並將輸出儲存到乙個檔案 output.txt.gz 中。

你可以通過下面其中任何乙個命令,在不解壓縮的情況下,檢視兩個檔案 ostechnix1.txt 和 ostechnix2.txt 的內容:

$ gunzip -c output.txt.gz

$ gunzip -c output.txt

$ zcat output.txt.gz

$ zcat output.txt

$ man gzip

2. 使用 bzip2 程式來壓縮和解壓縮檔案

bzip2 和 gzip 非常類似,但是 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

如果要在不解壓縮的情況下檢視乙個壓縮檔案的內容,則執行:

$ bunzip2 -c ostechnix.txt.bz2

或者,$ bzcat ostechnix.txt.bz2

$ man bzip2

總結在這篇教程中,我們學習了 gzip 和 bzip2 程式是什麼,並通過 gnu/linux 下的一些例子學習了如何使用它們來壓縮和解壓縮檔案。接下來,我們將要學習如何在 linux 中將檔案和目錄歸檔。

乾杯!

gz linux下解壓命令

tar 解包 tar xvf filename.tar 打包 tar cvf filename.tar dirname 注 tar是打包,不是壓縮!gz解壓1 gunzip filename.gz 解壓2 gzip d filename.gz 壓縮 gzip filename tar.gz 和 tg...

python 解壓zip檔案

import os import zipfile import time defunzipfile file dir,file name,filelist param file dir 絕對路徑 param file name 解壓檔名 param filelist 返回解壓後的所有檔名 retur...

python解壓zip指令碼

自己並不會python,但是 網上下了乙個 new 遊戲合集,需要批量解壓zip檔案,並提取nes檔案出來。然後磕磕碰碰的按照api寫的指令碼.僅供個人使用。coding utf 8 import zipfile import os import shutil files os.listdir tm...