Linux tar 檔案打包與壓縮

在 Linux 上傳送檔案時,我們通常會先把多個檔案「打包」成一個檔,再進行「壓縮」以節省空間。 在 Linux 世界,最常見的是 .tar.tar.gz

  • tar:只是把一堆檔案「打包」成一個大檔案,沒有壓縮(體積不會變小)。
  • gz (gzip):這是壓縮技術。
  • tar.gz:先打包,再壓縮。

必背參數口訣

參數雖然多,但其實常用的就那四個字:z, c, x, f, v

  • z (gzip):使用 gzip 壓縮或解壓。
  • c (create):建立新的壓縮檔 (打包)。
  • x (extract):解開壓縮檔 (解包)。
  • v (verbose):顯示過程。
  • f (file):指定檔案名稱 (這個參數一定要放最後)。

實戰用法

1. 解壓縮 (Extract) -> xzvf

遇到 .tar.gz 檔,直接下這行指令把它解開。

# 解壓 file.tar.gz
tar xzvf file.tar.gz

2. 壓縮 (Create) -> czvf

要把整個 www 資料夾打包並壓縮成 backup.tar.gz

tar czvf backup.tar.gz www/

3. 只打包不壓縮 -> cvf / xvf

如果只是要打包成 .tar (不壓縮):

# 打包
tar cvf file.tar folder/

# 解包
tar xvf file.tar

常見問題

遇到 .tar.bz2 怎麼辦?

.bz2 是另一種壓縮格式 (bzip2),壓縮率比 gzip 好一點,但比較慢。 只要把參數中的 z 換成 j 即可。

# 解壓 .tar.bz2
tar xjvf file.tar.bz2