Linux 下最常見的壓縮格式為 tar 打包搭配 gzip/bzip2/xz 壓縮。本文整理最實用的指令組合,涵蓋建立、查看、解壓縮、單檔解壓等場景。
| 操作 | 指令 | 說明 |
|---|---|---|
| 壓縮 | tar -zcvf 封裝檔.tar.gz 來源檔案/目錄 | -z gzip, -c 建立, -v 顯示過程, -f 指定檔名 |
| 解壓縮 | tar -zxvf 封裝檔.tar.gz | -x 解壓縮 |
| 解壓至指定目錄 | tar -zxvf 封裝檔.tar.gz -C /目標路徑 | -C 切換目錄 |
| 僅查看清單 | tar -ztvf 封裝檔.tar.gz | -t 列出內容 |
| 解壓單一檔案 | tar -zxvf 封裝檔.tar.gz 路徑/檔案 | 路徑為封裝內相對路徑 |
將 -z 改為 -j:
tar -jcvf 封裝檔.tar.bz2 來源tar -jxvf 封裝檔.tar.bz2將 -z 改為 -J (大寫 J):
tar -Jcvf 封裝檔.tar.xz 來源tar -Jxvf 封裝檔.tar.xz現代 tar 支援 -a (--auto-compress) 依副檔名自動選擇壓縮演算法:
tar -acvf 封裝檔.tar.gz 來源 (副檔名決定格式)tar -axvf 封裝檔.tar.gz (自動偵測)| 格式 | 壓縮 | 解壓縮 | 備註 |
|---|---|---|---|
| .zip | zip -r 封裝.zip 目錄 | unzip 封裝.zip | 跨平台相容性最佳 |
| .rar | rar a 封裝.rar 目錄 | unrar x 封裝.rar | 需安裝 non-free 套件 |
| .gz (單檔) | gzip 檔案 | gzip -d 檔案.gz 或 gunzip 檔案.gz | 不保留原檔預設 |
| .bz2 (單檔) | bzip2 檔案 | bunzip2 檔案.bz2 | 壓縮率優於 gzip |
tar -pcvf ... (-p 保留權限,--xattrs 保留擴充屬性)。tar --exclude='*.log' --exclude='node_modules' -zcvf src.tar.gz src/pv 後 tar -czf - 來源 | pv | gzip > 封裝.tar.gz (較複雜),或使用 tar -cvf - 來源 | pv -s $(du -sb 來源 | awk '{print $1}') | gzip > 封裝.tar.gz。-m 可改為目前時間。.tar.gz (速度快、相容性好)。.tar.xz (體積最小)。.zip。.gz 或 .bz2。