萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux tar 命令完整使用指南:打包、壓縮與解壓實戰範例

許多 Linux 使用者對 tar 命令的具體用法感到陌生,其實透過不同參數組合,tar 能夠高效完成檔案打包、壓縮、解壓及排除特定檔案等任務。本文將系統整理 tar 的核心語法、常用選項與實戰範例,幫助你快速掌握這項必備技能。

tar 命令示意圖

基本語法

tar [主選項+輔助選項] 檔案或目錄
  • 主選項(必須且只能擇一):c 建立新檔案、x 解壓縮、t 列出內容。
  • 輔助選項:-z (gzip)、-j (bzip2)、-v 顯示過程、-f 指定檔名(緊接在 -f 之後)、-p 保留原屬性、--exclude 排除檔案。

實戰範例

範例一:打包 /etc 目錄

# 僅打包
tar -cvf /tmp/etc.tar /etc
# 打包並 gzip 壓縮
tar -zcvf /tmp/etc.tar.gz /etc
# 打包並 bzip2 壓縮
tar -jcvf /tmp/etc.tar.bz2 /etc

慣例副檔名:.tar、.tar.gz/.tgz、.tar.bz2。使用絕對路徑時會出現 Removing leading '/' 警告,屬正常現象。

範例二:查看壓縮包內容

tar -ztvf /tmp/etc.tar.gz

因使用 gzip 壓縮,查看時必須加 -z 參數。

範例三:解壓縮至指定目錄

cd /usr/local/src
tar -zxvf /tmp/etc.tar.gz

解壓後會在當前目錄建立 etc 子目錄,檔案屬性可能與原始 /etc 不同。

範例四:僅解壓單一檔案

cd /tmp
tar -zxvf /tmp/etc.tar.gz etc/passwd

先用 tar -ztvf 確認內部路徑(不含根目錄 /),再指定相對路徑解壓。

範例五:排除特定目錄備份

tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

進階技巧:-C 參數變更工作目錄

預設使用絕對路徑打包會保留完整路徑,解壓時會還原完整結構。使用 -C 可變更工作目錄,只打包檔案名稱:

# 打包時切換至 /home/usr2,只存 file2
tar -cvf file2.tar -C /home/usr2 file2
# 解壓時指定目標目錄
tar -xvf file2.tar -C /home/usr2

若不加 -C 直接指定目標路徑會報錯 Not found in archive。

小結

掌握 tar 的主選項與輔助選項組合,即可輕鬆應對日常備份、部署與遷移需求。建議多實操上述範例,熟悉 -C、--exclude 等進階用法,提升系統管理效率。

copyright © 萬盛學電腦網 all rights reserved