Linux 下最為人熟知的歸檔/壓縮工具
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 主頁。
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 主頁 得到。
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
- 執行解壓文件到標準輸出的功能。
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
刪除文件
確認文件刪除
via: http://linoxide.com/tools/linux-compress-decompress-tools/
作者:B N Poornima 譯者:FSSlc 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive