前言

在 Linux 中用來打包目錄及壓縮的指令有不少,例如 tar、gzip、bz、bz2、zip、rar 、xz、lha 等等。但人生其實已經夠複雜了,如果能越簡單越好。因此我只用 tar ˋ這種在各大 Linux 版本已經內建的套件,而且支援 gzip、bzip2 及 xz 的壓縮格式。

TAR 指令

常用參數

參數 使用範例
-c 建立打包檔案,可搭配 -v 來觀看打包過程。
-C 目錄。打包或壓縮目錄可省略。解開打包或解壓縮用來指定放置的目錄
-v 在打包或壓縮的過程中顯示檔案。
-t 檢視已打包檔案的內容含有哪些檔案。
-x 解開已打包的檔案、或解壓縮檔案。
-z 使用 gzip 壓縮或者解壓縮,建議使用副檔名 .tar.gz 方便識別。
-j 使用 bzip2 壓縮或者解壓縮,建議使用副檔名 .tar.bz2 方便識別。
-J 使用 xz 壓縮或者解壓縮,建議使用副檔名 .tar.xz
-f 被處理的檔名。此參數使用要立即接檔名,建議單獨使用。
-p 保留備份資料的原始權限與屬性。
-P 保留絕對路徑。被打包檔案結構含有根目錄。
-N 比對日期。比此參數後面接的日期 (yyyy/mm/dd) 還要新的才會被打包。

注意事項

  • 指令參數 -c-t-x 不能同時出現在指令中。因為功能用途差異無法搭配使用。
  • 指令參數 -z-j-J 都是壓縮功能,不能同時出現在指令中,只能挑選其一使用。

bzip2 及 xz 現在很少人用了。像我一樣金魚腦,三分鐘就忘或腦容量有限的人,只記 gzip 的 -z 參數就可以了。

TAR 指令格式

tar -常用參數 -f 檔案名稱 -C 要打包的目錄

參數 -C 可省略。

TAR 使用範例

壓縮指令

例如,我要在 /home/ 目錄下打包順便壓縮 vagrant 這個目錄。

tar 壓縮指令
範例截圖: tar 壓縮指令使用過程。

tar -zcvf terryl.tar.gz vargant

含有 z 壓縮、c 打包、v 看過程檔名以及 f 指定檔案名稱共四個參數。
或根據建議,把參數 -f 獨立。

tar -zcv -f terryl.tar.gz vargant

解壓縮指令

tar -xvf sites-enabled.tar.gz -C /etc/nginx

這個例子會把我從其它主機上的 nginx 設定備份檔解壓縮至 /etc/nginx

tar -xvf sites-enabled.tar.gz

假如不指定 -C 參數,則會解壓至當前目錄。產生一個當初壓縮的目錄名。

後記

以上就是簡單的範例。希望對大家有幫助囉!

最後修改日期: 2019-07-31

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。