Linux 下最爲人熟知的歸檔/壓縮工具!

源於公衆號: Python編程學習 

很多時候,通過互聯網發送或接收大文件和圖片是一件令人頭疼的事。壓縮及解壓縮工具正好可以應對這個問題。下面讓我們快速瀏覽一些可以使得我們的工作更加輕鬆的開源工具。


1、Tar

Tar 由 'Tape archiver(磁帶歸檔器)' 衍生而來,最初被用來在磁帶上歸檔和存儲文件。Tar 是一個 GNU 軟件,它可以壓縮一組文件(歸檔),或提取它們以及對已有的歸檔文件進行相關操作。在存儲、備份以及傳輸文件方面,它是很有用的。在創建歸檔文件時,Tar 可以保持原有文件和目錄結構不變。通過 Tar 歸檔的文件的後綴名爲 ‘.tar’。

基本用法如下:


a) 創建歸檔 (c / --create)

tar --create --verbose --file=archive.tar file1 file2 file3

tar cvf archive.tar file1 file2 file3

創建一個歸檔


b) 列出歸檔文件內容 ( t / --list)

tar --list archive.tar

列出歸檔中包含的文件


c) 提取歸檔 (x / --extract)

tar xvf archive.tar
tar xvf archive.tar --wildcards '*.c'
- 從歸檔中提取後綴名爲 *.c 的文件。

提取文件

只提取需要的文件


d) 對歸檔文件進行更新 ( u / --update)

tar uvf archive.tar newfile.c
- 假如歸檔的newfile.c 要比先前已經歸檔的新,則添加更新的 newfile.c 到歸檔裏面.

更新一個歸檔


e) 從歸檔中刪除文件 (--delete)

tar --delete -f archive.tar file1.c
- 從壓縮包'archive.tar' 中刪除文件'file1.c' 

刪除文件

更加具體的使用方法請參考tar 主頁。


2、Gzip / Gunzip

Gzip 即 GNU zip,它是一個被廣泛用於 Linux 操作系統中的壓縮應用,被其壓縮的文件的後綴名爲'*.gz' 。

基本用法如下:


a) 壓縮文件

gzip file(s)

每個文件將被單獨壓縮。

壓縮文件

通常在壓縮完成後,它會將原來的文件刪除。我們可以使用 -c 選項來保留原來的文件。

gzip -c file > file.gz

壓縮後保留原有文件

我們也可以將一組文件壓縮到一個單獨的文件中

cat file1 file2 file3 | gzip > archieve.gz

壓縮一組文件


b) 檢查壓縮比

被壓縮文件的壓縮比可以使用 ‘-l’ 選項來進行檢驗。

gzip -l archieve.gz

檢查壓縮率


c) 解壓文件

Gunzip 用來解壓文件,在這裏,原有的(壓縮)文件在被解壓後同樣會被刪除。使用 -c選項來保留原始文件。

gunzip -c archieve.gz

解壓文件

gzip 加上'-d'選項 和 gunzip 對壓縮文件有同樣的效果。

更多細節可以從 gzip 主頁 得到。


3、Bzip2 / Bunzip2   

同 gzip 一樣,Bzip2 也是一個壓縮工具,與其他傳統的工具相比,它可以將文件壓縮到更小,但其缺點爲:運行速度比 gzip 慢。

基本用法如下:


a) 壓縮文件

一般情況下,針對壓縮而言,Bzip2 不用什麼選項,將被壓縮的文件被傳遞爲它的參數。每個文件被單獨壓縮,且壓縮文件以 'bz2' 爲後綴名。

bzip2 file1 file2 file3

文件壓縮

使用 '-k' 選項可以使得在壓縮或解壓縮之後保留原有的文件。

在壓縮後保留原有文件


b) 解壓

'-d' 選項被用來解壓縮。

使用 -d 選項解壓縮文件

也可以使用 bunzip2 來解壓縮。

bunzip2 filename

解壓文件

bunzip2 可以解壓後綴名爲 bz2, bz, tbz2 和 tbz 的文件。帶有 tbz2 和 tbz 的文件在壓縮後,後綴名將變爲'.tar' 。

bzip2 -dc
- 執行解壓文件到標準輸出的功能。

 

4、7-zip

7-zip 是另一個開源壓縮軟件。它使用 7z 這種新的壓縮格式,並支持高壓縮比。因此,它被認爲是比先前提及的壓縮工具更好的軟件。在 Linux 下,可以通過 p7zip 軟件包得到,該軟件包裏包含 3 個二進制文件:7z, 7za 和 7zr,讀者可以參考 p7zip wiki 來了解這三個二進制文件之間的不同。在本篇中,我們將使用 7zr 來解釋 7-zip 的用法。歸檔文件以 '.7z' 爲後綴名。

基本用法如下:


a) 創建歸檔

7zr a archive-name.7z file-name(s) / directory-name(s)

創建一個歸檔文件


b) 列出歸檔包含文件

7zr l archive-name.7z

列出歸檔中包含的文件


c) 提取歸檔文件

7zr e archive-name.7z

提取歸檔


d) 更新歸檔文件

7zr u archive-name.7z new-file

更新一個歸檔文件


e) 從歸檔文件中刪除文件

7zr d archive-name.7z file-to-be-deleted

刪除文件

確認文件刪除

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章