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/zip/rar/7z 統一速查表

編輯:Linux 教學

Linux 下檔案格式眾多,掌握核心工具組合即可應對 99% 場景。本文整理 標準打包 (tar) + 壓縮 (gzip/bzip2/xz) 慣用組合、獨立壓縮工具、跨平台格式 (zip/rar/7z) 完整指令對照表。

核心概念:打包 ≠ 壓縮

  • tar:僅打包 (歸檔),不壓縮,輸出 .tar
  • gzip/bzip2/xz:僅壓縮單一檔案
  • 慣用管線組合:tar + 壓縮工具 → .tar.gz / .tar.bz2 / .tar.xz

主流格式指令對照表

格式解壓/解包壓縮/打包備註
.tartar xvf file.tartar cvf file.tar dir/純打包
.gzgunzip file.gz / gzip -d file.gzgzip file單檔壓縮
.tar.gz / .tgztar zxvf file.tar.gztar zcvf file.tar.gz dir/最通用組合
.bz2bunzip2 file.bz2 / bzip2 -d file.bz2bzip2 -z file壓縮率較高
.tar.bz2tar jxvf file.tar.bz2tar jcvf file.tar.bz2 dir/原始碼發布常用
.xzunxz file.xz / xz -d file.xzxz -z file最高壓縮率,核心套件用
.tar.xztar Jxvf file.tar.xztar Jcvf file.tar.xz dir/現代 Linux 發行版標準
.zipunzip file.zipzip -r file.zip dir/跨平台、支援加密
.rarunrar x file.rar / rar x file.rarrar a file.rar dir/需安裝非自由套件
.7z7z x file.7z7z a file.7z dir/最高壓縮率、開源
.Zuncompress file.Zcompress file舊 Unix 標準
.rpmrpm2cpio file.rpm | cpio -idmv-提取不安裝
.debar p file.deb data.tar.xz | tar Jxvf --提取不安裝

tar 關鍵參數速記

c  建立新檔案
x  解壓/提取
v  顯示過程
f  指定檔案名 (必須最後)
z  gzip 過濾
j  bzip2 過濾
J  xz 過濾
C  切換目錄後操作 (解壓至指定目錄)
--exclude=PATTERN  排除模式
--strip-components=N  去除前 N 級目錄

實戰範例

# 打包 /etc 至 /backup/etc.tar.gz
tar zcvf /backup/etc.tar.gz /etc

# 解壓至 /tmp/test (保留目錄結構)
tar zxvf /backup/etc.tar.gz -C /tmp/test

# 解壓並去除第一級目錄 (直接取內容)
tar zxvf /backup/etc.tar.gz --strip-components=1 -C /tmp/test

# 排除日誌目錄
tar zcvf backup.tar.gz /var/www --exclude='*/logs/*'

# 分卷壓縮 (適合大檔案傳輸)
tar zcvf - /data | split -b 100M - backup.tar.gz.

# 合併還原
cat backup.tar.gz.* | tar zxvf -

zip 進階參數

zip -r file.zip dir/           # 遞歸
zip -e file.zip dir/           # 加密 (提示輸入密碼)
zip -P password file.zip dir/  # 指定密碼 (不安全,僅腳本用)
zip -9 file.zip dir/           # 最大壓縮
zip -u file.zip new_file       # 更新模式 (只增量)
zip -d file.zip old_file       # 從壓縮包刪除檔案

一鍵解壓神器

# atool (apt/yum install atool)
aunpack file.tar.gz   # 自動識別格式解壓
apack file.tar.gz dir/ # 自動識別格式打包

# 或簡單腳本
extract() {
  if [ -f "$1" ]; then
    case "$1" in
      *.tar.bz2) tar jxvf "$1" ;;
      *.tar.gz)  tar zxvf "$1" ;;
      *.tar.xz)  tar Jxvf "$1" ;;
      *.bz2)     bunzip2 "$1" ;;
      *.gz)      gunzip "$1" ;;
      *.tar)     tar xvf "$1" ;;
      *.zip)     unzip "$1" ;;
      *.rar)     unrar x "$1" ;;
      *.7z)      7z x "$1" ;;
      *) echo "未知格式: $1" ;;
    esac
  fi
}

結語

記住 tar + z/j/J 三大黃金組合覆蓋 90% 需求;zip 用於跨平台分享;7z 追求極致壓縮率;xz 為現代核心套件標準。將 extract() 函數加入 ~/.bashrc,一指令解決所有格式。

Copyright © Windows教程網 All Rights Reserved