Linux 下壓縮格式眾多,參數複雜易忘。本文整理最常用的 tar、gzip、bzip2、xz、zip、rar、7z 指令與參數,提供「查詢、壓縮、解壓」三大模式速查表,並推薦通用解壓工具 atool/dtrx。
| 格式 | 解壓/解包 | 壓縮/打包 | 備註 |
|---|---|---|---|
| .tar | tar xvf file.tar | tar cvf file.tar dir | 僅打包,不壓縮 |
| .gz | gunzip file.gz / gzip -d file.gz | gzip file | 單檔壓縮,保留原檔加 -c |
| .tar.gz / .tgz | tar zxvf file.tar.gz | tar zcvf file.tar.gz dir | 最通用組合 |
| .bz2 | bunzip2 file.bz2 / bzip2 -d file.bz2 | bzip2 -z file | 壓縮率較 gzip 高,速度較慢 |
| .tar.bz2 | tar jxvf file.tar.bz2 | tar jcvf file.tar.bz2 dir | tar 呼叫 bzip2 |
| .xz | unxz file.xz / xz -d file.xz | xz -z file | LZMA2 演算法,壓縮率最高 |
| .tar.xz | tar Jxvf file.tar.xz | tar Jcvf file.tar.xz dir | 核心原始碼常用格式 |
| .zip | unzip file.zip | zip -r file.zip dir | 跨平台相容性最佳 |
| .rar | unrar x file.rar / rar x file.rar | rar a file.rar dir | 需安裝非自由軟體 rar/unrar |
| .7z | 7z x file.7z | 7z a file.7z dir | 壓縮率極高,支援多執行緒 |
# 查詢封存內容
tar -tvf file.tar.gz # -t list, -v verbose, -f file
tar -jtvf file.tar.bz2 # -j bzip2
tar -Jtvf file.tar.xz # -J xz
# 壓縮打包
tar -czvf new.tar.gz dir/ # -c create, -z gzip
tar -cjvf new.tar.bz2 dir/ # -j bzip2
tar -cJvf new.tar.xz dir/ # -J xz
# 解壓縮
tar -xzvf file.tar.gz -C /target/path # -x extract, -C 指定目錄
tar -xjvf file.tar.bz2 -C /target/path
tar -xJvf file.tar.xz -C /target/path
-f 必須緊鄰檔名,建議放最後:tar -czvf archive.tar.gz dir/。-p 保留權限與屬性 (備份系統目錄必加)。--exclude=pattern 排除檔案 (如 --exclude='*.log')。-k 解壓時不覆蓋既有檔案。atool:aunpack file.xxx 自動偵測格式解壓。dtrx (Do The Right Extraction):dtrx file.xxx 智慧解壓、統一輸出目錄。apt install atool dtrx (Debian/Ubuntu)。-1 ~ -9:壓縮等級,-1 最快/壓縮率低,-9 最慢/壓縮率高,預設 -6。-c:輸出至 stdout,原檔保留,配合重導向:gzip -c file > file.gz。-l:列出壓縮資訊 (大小、比率、未壓縮名稱) 不解壓。-t:測試壓縮檔完整性。-r:遞迴處理目錄下所有檔案 (各別壓縮,非打包)。