前言
在 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 -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 參數,則會解壓至當前目錄。產生一個當初壓縮的目錄名。
後記
以上就是簡單的範例。希望對大家有幫助囉!
留言