Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 壓縮解壓大全:tar/gzip/bzip2/xz/zip/rar/7z 12 種格式參數速查與實戰技巧

編輯:Linux 教學

Linux 下壓縮格式繁多、參數易混淆。本文整理 12 種主流格式的壓縮/解壓命令、核心參數含義、管道組合技巧、多核加速方案與常見坑點,製作成「隨查隨用」速查表,並附贈統一調用工具 atool/dtrx 推薦。

核心觀念:打包 ≠ 壓縮

  • tar:僅打包(歸檔),不壓縮,常配合壓縮工具使用。
  • gzip/bzip2/xz/lzma/zstd:僅壓縮單一文件,需配合 tar 打包目錄。
  • zip/rar/7z:自帶打包+壓縮,跨平台相容性佳。

12 種格式速查表

格式副檔名解壓命令壓縮命令核心參數適用場景
tar.tartar xvf file.tartar cvf file.tar dir/x解壓 c建立 v顯示 f文件純打包、配合管道
gzip.gzgzip -d file.gz
gunzip file.gz
gzip file-1~-9壓縮等級 -k保留原檔通用、速度快、相容性最好
tar.gz.tar.gz/.tgztar zxvf file.tar.gztar zcvf file.tar.gz dir/z調用 gzipLinux 軟體分發標準格式
bzip2.bz2bzip2 -d file.bz2
bunzip2 file.bz2
bzip2 -z file-1~-9 -k保留壓縮率優於 gzip、速度較慢
tar.bz2.tar.bz2/.tbz2tar jxvf file.tar.bz2tar jcvf file.tar.bz2 dir/j調用 bzip2源碼包常用 (Kernel、GCC)
xz.xzxz -d file.xz
unxz file.xz
xz -z file-1~-9 -T0多執行緒 -k最高壓縮率、現代 Linux 標準
tar.xz.tar.xz/.txztar Jxvf file.tar.xztar Jcvf file.tar.xz dir/J調用 xzArch Linux 包、Kernel 官方發布
compress.Zuncompress file.Zcompress file舊 Unix 標準、LZW 算法極少見、歷史遺留
tar.Z.tar.Ztar Zxvf file.tar.Ztar Zcvf file.tar.Z dir/Z調用 compress舊系統備份
zip.zipunzip file.zipzip -r file.zip dir/-r遞歸 -9最高壓縮 -e加密跨平台交換、Windows 相容
rar.rarunrar x file.rarrar a file.rar dir/a添加 -r遞歸 -p密碼 -v分卷Windows 常用、分卷、恢復記錄
7z.7z7z x file.7z7z a file.7z dir/a添加 -m0=lzma2 -mx=9 -mmt=on多核最高壓縮率、多核加速、開源

進階實戰技巧

1. 多核並行加速 (大文件/目錄必備)

# xz 多執行緒 (自動偵測 CPU 核心數)
tar -I 'xz -T0' -cvf backup.tar.xz /data/

# 7z 多執行緒
7z a -mmt=on backup.7z /data/

# pigz (並行 gzip) 替代 gzip
tar -I pigz -cvf backup.tar.gz /data/

# pbzip2 (並行 bzip2)
tar -I pbzip2 -cvf backup.tar.bz2 /data/

2. 管道串流傳輸 (跨主機備份/遷移)

# 本地打包壓縮並經 SSH 遠端解壓
tar czf - /source/dir | ssh user@remote "tar xzf - -C /dest/"

# 使用 pv 顯示進度
tar cf - /source | pv | gzip -c | ssh user@remote "gunzip | tar xf - -C /dest"

3. 排除特定文件/目錄

tar czvf backup.tar.gz /data --exclude='*.log' --exclude='node_modules' --exclude='.git'

4. 保留權限、擴展屬性、ACL (遷移/備份關鍵)

# tar 保留所有屬性
tar --acls --xattrs -cvpf backup.tar /data

# rsync 替代方案 (更強大)
rsync -aAXH --numeric-ids /source/ /dest/

5. 解壓到指定目錄 (不污染當前目錄)

tar xzf file.tar.gz -C /target/dir/
unzip file.zip -d /target/dir/
7z x file.7z -o/target/dir/

6. 列出壓縮包內容不解壓

tar tzf file.tar.gz
unzip -l file.zip
7z l file.7z
rar l file.rar

7. 測試壓縮包完整性

gzip -t file.tar.gz
bzip2 -t file.tar.bz2
xz -t file.tar.xz
zip -T file.zip
7z t file.7z

統一調用工具推薦:告別記憶參數

  • atool:aunpack file.tar.gz 自動識別格式解壓,apack backup.tar.gz dir/ 自動選擇壓縮格式。
  • dtrx (Do The Right Extraction):dtrx file.any 智能解壓、自動處理單層目錄、編碼修正、權限保留。
  • ark / file-roller:圖形界面,支援拖放、預覽、部分提取。

常見坑點避雷

坑點後果正確做法
tar 參數順序錯誤 (tar -czf vs tar -zcf)產生錯誤文件或報錯習慣用 tar czvf (無連字號) 或 tar -czvf 固定順序
解壓覆蓋現有文件無提示數據意外丟失加 -k (keep) 或先 tar tf 確認
zip 中文文件名編碼亂碼 (CP437 vs UTF-8)解壓後文件名亂碼unzip -O CP936 file.zip 或用 7z/atool 自動修正
rar/unrar 非自由軟體、版本舊新版 rar5 格式不支援優先用 7z (p7zip-full) 解壓 rar
極大文件 (>4GB) 用舊版 zip生成損壞包用 zip64 (zip -z) 或改用 7z/tar.xz

總結

日常首選 tar.xz (高壓縮率) 或 tar.gz (高相容);跨平台交換用 zip;極致壓縮與多核加速用 7z;腳本自動化用 atool/dtrx。熟練掌握 tar -I 'xz -T0'、管道串流、--acls --xattrs、編碼修正等進階技巧,能大幅提升備份遷移效率與可靠性。

Copyright © Windows教程網 All Rights Reserved