Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux tar 命令完全指南:打包、壓縮、解壓、排除、路徑控制

編輯:Linux 系統常見問題解答

核心模式(三選一)

  • -c:建立新歸檔(打包)
  • -x:解壓縮(拆包)
  • -t:列出內容(不解壓)

常用輔助選項

選項功能典型副檔名
-zgzip 壓縮/解壓.tar.gz, .tgz
-jbzip2 壓縮/解壓.tar.bz2
-Jxz 壓縮/解壓.tar.xz
-v顯示過程
-f指定檔案名(必須緊跟其後)
-p保留原始權限/屬性
--exclude=PATTERN排除符合模式的檔案
-C DIR切換工作目錄(打包/解壓前)

實戰範例

1. 打包 /etc 目錄

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

2. 查看內容

tar -ztvf /tmp/etc.tar.gz

3. 解壓至指定目錄

cd /usr/local/src
tar -zxvf /tmp/etc.tar.gz
# 解壓後產生 /usr/local/src/etc

4. 僅解壓單一檔案

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

5. 排除特定目錄

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

-C 參數深度解析

打包時使用 -C:

tar -cvf file2.tar -C /home/usr2 file2
  • 將工作目錄切至 /home/usr2
  • 打包 file2(不含絕對路徑)
  • 解壓時不會重建 home/usr2/ 目錄結構

解壓時使用 -C:

tar -xvf file2.tar -C /home/usr2
  • 直接將內容釋放至 /home/usr2
  • 不支援 tar -xvf file2.tar /home/usr2(會報錯)

常見陷阱

  • 使用絕對路徑打包會保留完整路徑(根目錄 / 被自動移除),解壓時會在當前目錄重建完整樹狀結構。
  • -f 後必須直接接檔名,不可插入其他選項。
  • 多模式(-c/-x/-t)不可同時出現。
Copyright © Windows教程網 All Rights Reserved