分類: Linux

UNIX/Linux 檔案壓縮與備份工具 tar 指令使用教學與範例(三):tar.bz2 檔案

前一篇我們介紹了傳統上很常在使用 .tar.gz 壓縮格式,而後來因為壓縮技術的進步,又出現了一個壓縮效果更好的 .tar.bz2 這種壓縮格式,他是使用新的 bzip2 這種壓縮格式代替傳統的 gzip

.tar.bz2 壓縮檔案

.tar.bz2(等同於 .tbz.tb2)這種格式跟 .tar.gz 的做法類似,也是把一般 .tar 檔案再壓縮一次,只是把原本使用的 gzip 換成 bzip2 而已,其餘的概念基本上都是一樣的。

建立 .tar.bz2 壓縮檔案

若要使用 tar 指令建立 .tar.bz2 格式的壓縮檔,可以使用下面這個指令:

tar -jcvf mpi.tar.bz2 mpi

這其實只是把原本的 .tar.gz 壓縮指令的 -z 換成 -j 而已。

.tar.bz2 亦可使用比較簡短的副檔名(.tbz.tb2)代替:

tar -jcvf mpi.tbz mpi

tar -jcvf mpi.tb2 mpi

這幾種副檔名都是一樣的。

.tar.bz2.tar.gz 類似,一樣也都可以分為兩段步驟來壓縮:

tar cvf mpi.tar mpi
bzip2 mpi.tar

解壓縮 .tar.bz2 壓縮檔案

解壓縮 .tar.bz2 壓縮檔也是跟 .tar.gz 的情況類似,把原本的 -z 換成 -j 就可以了:

tar -jxvf mpi.tar.bz2

亦可使用兩段式解壓縮:

bzip2 -d mpi.tar.gz
tar xvf mpi.tar

或是使用管線(pipe)的方式:

bzip2 -cd mpi.tar.bz2 | tar xvf -

基本上這些做法與概念都跟 .tar.gz 的狀況相同,這裡就不重複說明了,若想了解這其中的概念請參考前一篇的說明。

列出 .tar.bz2 壓縮檔案的內容

若要列出 .tar.bz2 檔案中的內容,可使用:

tar -jtvf mpi.tar.bz2

這個也是跟 .tar.gz 的用法類似,只是將 -z 換成 -j 而已。

.tar.bz2 壓縮檔案中解壓縮指定的檔案

若要從 .tar.bz2 壓縮檔中解開特定的檔案,可以直接將要解開的檔案名稱放在所有參數的最後:

tar -jxvf mpi.tar.bz2 "mpi/mpi.R"

若要指定多個檔案也可以:

tar -jxvf mpi.tar.bz2 "mpi/mpi.R" "mpi/pi.c" "mpi/my_phi.c"

若要解開某一類的檔案,也可以使用 --wildcards 參數配合萬用字元來指定要解開的檔案:

tar -jxvf mpi.tar.bz2 --wildcards "*.c"

這樣就會把 mpi.tar.bz2 壓縮檔中所有 C 語言的原始碼(*.c)都解開來,輸出為:
mpi/MPI_Hello.c
mpi/pi.c
mpi/my_phi.c

原則上 .tar.bz2 的使用方式幾乎跟 .tar.gz 相同,只要把對應的 -z 參數換成 -j,剩下的都一樣。

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: 指令

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

3 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago