引言:選擇正確的壓縮工具為什麼重要?

在日常開發與維運工作中,我們經常需要壓縮檔案:備份資料庫、傳輸日誌檔、打包部署映像檔。選擇適當的壓縮工具,可能讓您的備份時間從 10 分鐘縮短到 2 分鐘,或是將 500MB 的檔案壓縮到 50MB。

本文將透過實際測試數據,深入比較常見的 Linux 壓縮工具,幫助您在不同場景下做出最佳選擇。

測試環境:

  • macOS (Apple Silicon M1 Pro, 10 cores)
  • 測試檔案:PostgreSQL 資料庫備份 (174 MB, my_DB_backup.sql)
  • 測試項目:壓縮率、壓縮速度、解壓速度、特殊功能

壓縮工具快速對照表

工具壓縮率壓縮速度解壓速度多執行緒加密最佳場景
gzip⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐通用場景、快速壓縮
pigz⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐大檔案快速壓縮
bzip2⭐⭐⭐⭐⭐⭐⭐⭐⭐中等壓縮需求
xz⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐最高壓縮率
zstd⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐平衡速度與壓縮率
7z⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐跨平台、加密需求
tar----打包工具(需搭配壓縮)

1. gzip:經典的壓縮工具

簡介

gzip 是 Linux 系統中最常用的壓縮工具,基於 DEFLATE 演算法(LZ77 + Huffman 編碼)。

基本使用

# 壓縮檔案(原檔案會被刪除)
gzip file.txt
# 產生 file.txt.gz

# 保留原檔案
gzip -k file.txt

# 最高壓縮率(-9)
gzip -9 file.txt

# 解壓縮
gunzip file.txt.gz
# 或
gzip -d file.txt.gz

實測數據(174 MB SQL 檔案)

# 壓縮測試
time gzip -9 -k my_DB_backup.sql
項目數值
原始大小174 MB
壓縮後大小26 MB
壓縮率85.1%
壓縮時間30 秒
解壓時間5 秒

優缺點

✅ 優點:

  • 廣泛支援,幾乎所有 Linux 系統都預裝
  • 壓縮與解壓速度快
  • tar 完美整合
  • 記憶體使用量低

⚠️ 缺點:

  • 不支援多執行緒
  • 壓縮率不如 xz 或 7z
  • 不支援加密

🎯 最佳使用場景:

  • 日常檔案壓縮
  • tar 結合打包目錄
  • 需要快速解壓的場景

2. pigz:gzip 的多執行緒版本

簡介

pigz (Parallel Implementation of GZip) 是 gzip 的平行化實作,使用多個 CPU 核心加速壓縮。

安裝與使用

# macOS
brew install pigz

# Ubuntu/Debian
sudo apt install pigz

# 使用(語法與 gzip 相同)
pigz -9 -k file.txt

# 指定執行緒數量
pigz -9 -p 10 file.txt  # 使用 10 個核心

實測數據(174 MB SQL 檔案)

time pigz -9 -k -p 10 my_DB_backup.sql
項目數值
原始大小174 MB
壓縮後大小26 MB
壓縮率85.1% (與 gzip 相同)
壓縮時間8 秒
解壓時間5 秒
加速比3.75x (vs gzip)

優缺點

✅ 優點:

  • 壓縮速度比 gzip 快 3-4 倍
  • 完全相容 gzip 格式
  • 自動偵測 CPU 核心數
  • 解壓縮也可以平行化

⚠️ 缺點:

  • 需要額外安裝
  • 記憶體使用量較高
  • 小檔案加速不明顯

🎯 最佳使用場景:

  • 大型檔案壓縮(>100MB)
  • 多核心 CPU 系統
  • CI/CD 流程中需要快速壓縮

效能視覺化

Mermaid Diagram

3. bzip2:中等壓縮率的選擇

簡介

bzip2 使用 Burrows-Wheeler 演算法,壓縮率介於 gzip 和 xz 之間。

基本使用

# 壓縮
bzip2 -9 file.txt
# 產生 file.txt.bz2

# 保留原檔案
bzip2 -9 -k file.txt

# 解壓縮
bunzip2 file.txt.bz2

實測數據(174 MB SQL 檔案)

time bzip2 -9 -k my_DB_backup.sql
項目數值
原始大小174 MB
壓縮後大小23 MB
壓縮率86.8%
壓縮時間2 分鐘
解壓時間45 秒

優缺點

✅ 優點:

  • 壓縮率優於 gzip
  • 廣泛支援
  • 錯誤恢復能力較強

⚠️ 缺點:

  • 壓縮與解壓都很慢
  • 不支援多執行緒
  • 記憶體使用量較高

🎯 最佳使用場景:

  • 對壓縮時間不敏感
  • 需要比 gzip 更好的壓縮率
  • 檔案長期歸檔

4. xz:極致壓縮率之王

簡介

xz 使用 LZMA2 演算法,提供最高的壓縮率,常用於 Linux 核心與軟體發行版。

基本使用

# 壓縮
xz -9 file.txt
# 產生 file.txt.xz

# 極致壓縮模式
xz -9e file.txt

# 多執行緒壓縮
xz -9e -T10 file.txt

# 解壓縮
unxz file.txt.xz
# 或
xz -d file.txt.xz

實測數據(174 MB SQL 檔案)

time xz -9e -T10 -k my_DB_backup.sql
項目數值
原始大小174 MB (182,452,738 bytes)
壓縮後大小18 MB (18,854,476 bytes) 🏆
壓縮率89.67% 🏆
壓縮時間1 分 27 秒
解壓時間8 秒

壓縮等級詳解

# 壓縮等級 0-9
xz -0  # 最快,壓縮率最低
xz -6  # 預設等級
xz -9  # 最高壓縮率

# 極致模式(-e)
xz -9e  # 比 -9 更高的壓縮率,但速度更慢

記憶體使用

壓縮等級壓縮記憶體解壓記憶體
-03 MB1 MB
-694 MB9 MB
-9674 MB65 MB
-9e674 MB65 MB

優缺點

✅ 優點:

  • 最高的壓縮率
  • 支援多執行緒(-T 參數)
  • 解壓速度尚可
  • 廣泛用於軟體發行

⚠️ 缺點:

  • 壓縮速度慢
  • 記憶體使用量高(高等級壓縮)
  • 不支援加密

🎯 最佳使用場景:

  • 需要最小檔案大小
  • 長期歸檔儲存
  • 網路頻寬有限
  • 軟體發行包

實際案例

# Linux 核心原始碼打包
tar -cJf linux-6.6.tar.xz linux-6.6/
# 使用 xz 壓縮,檔案大小通常比 .tar.gz 小 30-40%

# 資料庫備份
pg_dump mydb | xz -9e -T$(nproc) > mydb_backup.sql.xz

5. zstd:速度與壓縮率的最佳平衡

簡介

zstd (Zstandard) 由 Facebook 開發,設計目標是在壓縮率與速度之間取得最佳平衡。

安裝與使用

# macOS
brew install zstd

# Ubuntu/Debian
sudo apt install zstd

# 基本壓縮
zstd file.txt
# 產生 file.txt.zst

# 指定壓縮等級(1-22,預設為 3)
zstd -19 file.txt  # 高壓縮率
zstd -1 file.txt   # 快速壓縮

# 多執行緒
zstd -19 -T10 file.txt

# 解壓縮
unzstd file.txt.zst

實測數據(174 MB SQL 檔案)

time zstd -19 -T10 my_DB_backup.sql
項目數值
原始大小174 MB
壓縮後大小21 MB
壓縮率87.9%
壓縮時間45 秒
解壓時間3 秒

壓縮等級與速度

# 不同等級的壓縮測試(174 MB 檔案)
zstd -1  # 5秒,  30MB  (83% 壓縮率)
zstd -3  # 8秒,  27MB  (84.5% 壓縮率,預設)
zstd -10 # 25秒, 23MB  (86.8% 壓縮率)
zstd -19 # 45秒, 21MB  (87.9% 壓縮率)
zstd -22 # 90秒, 20MB  (88.5% 壓縮率,最高)

優缺點

✅ 優點:

  • 解壓縮極快(比 gzip 還快)
  • 壓縮速度與壓縮率平衡極佳
  • 支援多執行緒
  • 可調整的壓縮等級範圍廣(1-22)
  • Facebook、Linux 核心、Docker 等廣泛採用

⚠️ 缺點:

  • 需要額外安裝
  • 在某些舊系統上支援度不如 gzip
  • 不支援加密

🎯 最佳使用場景:

  • Docker image 壓縮
  • 即時資料壓縮
  • 需要快速解壓的備份
  • 現代化應用部署

實際案例

# Docker image 儲存(節省空間與載入時間)
docker save myimage | zstd -19 > myimage.tar.zst

# 日誌即時壓縮
tail -f /var/log/app.log | zstd -3 > app.log.zst

# Rsync 與 zstd 結合
rsync -av --compress-level=0 src/ dest/ | zstd -3 > sync.log.zst

6. 7z:跨平台與加密的全能選手

簡介

7z 是 7-Zip 的命令列版本,支援多種壓縮演算法,並提供加密功能。

安裝與使用

# macOS
brew install p7zip

# Ubuntu/Debian
sudo apt install p7zip-full

# 基本壓縮
7z a archive.7z file.txt

# 極致壓縮(LZMA2)
7z a -t7z -m0=lzma2 -mx=9 archive.7z file.txt

# 加密壓縮
7z a -p'MyPassword' -mhe=on archive.7z file.txt
# -p: 設定密碼
# -mhe=on: 加密檔案名稱

# 多執行緒
7z a -mmt=10 archive.7z file.txt

# 解壓縮
7z x archive.7z

實測數據(174 MB SQL 檔案)

time 7z a -t7z -m0=lzma2 -mx=9 -mmt=10 backup.7z my_DB_backup.sql
項目數值
原始大小174 MB
壓縮後大小18.5 MB
壓縮率89.4%
壓縮時間1 分 35 秒
解壓時間10 秒

加密功能

# AES-256 加密
7z a -p'StrongPassword123' -mhe=on -mx=9 secure.7z sensitive_data.sql

# 驗證加密
7z l secure.7z  # 無法看到檔案列表(因為 -mhe=on)

# 解壓縮(需要密碼)
7z x secure.7z
# Enter password: ****

支援的格式

# 7z 可以解壓多種格式
7z x file.zip
7z x file.rar
7z x file.tar.gz
7z x file.tar.xz
7z x file.iso

優缺點

✅ 優點:

  • 支援加密(AES-256)
  • 極高的壓縮率
  • 支援多種格式
  • 跨平台(Windows/Linux/macOS)
  • 可以建立自解壓縮檔案

⚠️ 缺點:

  • 壓縮速度較慢
  • 在 Linux 上需要額外安裝
  • 命令語法較複雜

🎯 最佳使用場景:

  • 需要加密的敏感資料
  • 跨平台檔案交換
  • 需要最小檔案大小且可接受較長壓縮時間
  • 歸檔多種格式的檔案

7. tar:打包工具(需搭配壓縮)

簡介

tar (Tape ARchive) 本身不是壓縮工具,而是打包工具,通常與壓縮工具結合使用。

常用組合

# tar + gzip (最常用)
tar -czf archive.tar.gz directory/
tar -xzf archive.tar.gz

# tar + bzip2
tar -cjf archive.tar.bz2 directory/
tar -xjf archive.tar.bz2

# tar + xz (極致壓縮)
tar -cJf archive.tar.xz directory/
tar -xJf archive.tar.xz

# tar + zstd (現代化選擇)
tar -c directory/ | zstd -19 > archive.tar.zst
zstd -dc archive.tar.zst | tar -x

參數詳解

# 常用參數
-c  # create (建立)
-x  # extract (解壓)
-t  # list (列出內容)
-v  # verbose (顯示詳細資訊)
-f  # file (指定檔案名稱)
-z  # gzip
-j  # bzip2
-J  # xz

# 範例
tar -czvf backup.tar.gz /var/www/
# c: 建立
# z: 使用 gzip
# v: 顯示過程
# f: 檔案名稱為 backup.tar.gz

進階技巧

# 排除特定檔案
tar -czf backup.tar.gz --exclude='*.log' --exclude='node_modules' project/

# 保留權限
tar -czpf backup.tar.gz directory/
# p: 保留檔案權限

# 分卷壓縮(大檔案分割)
tar -czf - large_directory/ | split -b 1G - backup.tar.gz.part
# 合併解壓
cat backup.tar.gz.part* | tar -xzf -

# 使用 pigz 加速
tar -c directory/ | pigz -9 -p 10 > archive.tar.gz

# 透過 SSH 遠端備份
tar -czf - /var/www/ | ssh user@remote 'cat > backup.tar.gz'

優缺點

✅ 優點:

  • 保留檔案權限、所有權、時間戳記
  • 可以打包整個目錄結構
  • 與所有壓縮工具相容
  • Unix/Linux 標準工具

⚠️ 缺點:

  • 本身不壓縮
  • 必須搭配壓縮工具
  • 解壓前無法查看單一檔案

🎯 最佳使用場景:

  • 備份整個目錄
  • 保留完整的檔案屬性
  • 系統遷移
  • 原始碼發布

壓縮工具效能總覽

實測數據彙整(174 MB SQL 檔案)

工具壓縮大小壓縮率壓縮時間解壓時間總評分
xz -9e -T1018 MB89.67% 🏆1:278s⭐⭐⭐⭐⭐
7z -mx=918.5 MB89.4%1:3510s⭐⭐⭐⭐⭐
zstd -1921 MB87.9%45s3s 🏆⭐⭐⭐⭐⭐
bzip2 -923 MB86.8%2:0045s⭐⭐⭐
gzip -926 MB85.1%30s5s⭐⭐⭐⭐
pigz -9 -p1026 MB85.1%8s 🏆5s⭐⭐⭐⭐⭐

視覺化比較

Mermaid Diagram

決策樹:如何選擇壓縮工具?

Mermaid Diagram

實際應用場景建議

1. 資料庫備份

場景: 每日自動備份 PostgreSQL 資料庫

推薦:xz + 多執行緒

#!/bin/bash
# 資料庫備份腳本
BACKUP_DIR="/backup/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR

# 匯出並壓縮
pg_dump mydb | xz -9e -T$(nproc) > $BACKUP_DIR/mydb_$(date +%Y%m%d_%H%M%S).sql.xz

# 清理 30 天前的備份
find /backup -type f -mtime +30 -delete

為什麼選擇 xz?

  • 最高壓縮率,節省儲存空間
  • 備份通常在夜間執行,時間充裕
  • 恢復時解壓速度可接受

2. CI/CD 流程中的 Docker Image

場景: CI/CD 流程中需要快速壓縮與傳輸 Docker Image

推薦:zstd

# GitLab CI/CD 範例
build-and-save:
  stage: build
  script:
    - docker build -t myapp:$CI_COMMIT_SHA .
    - docker save myapp:$CI_COMMIT_SHA | zstd -10 -T$(nproc) > myapp.tar.zst
  artifacts:
    paths:
      - myapp.tar.zst
    expire_in: 7 days

deploy:
  stage: deploy
  script:
    - zstd -dc myapp.tar.zst | docker load
    - docker run -d myapp:$CI_COMMIT_SHA

為什麼選擇 zstd?

  • 壓縮與解壓都很快
  • 壓縮率優於 gzip
  • 適合頻繁的 CI/CD 流程

3. 日誌檔案歸檔

場景: 每日輪替的應用程式日誌

推薦:pigz

# logrotate 配置
/var/log/myapp/*.log {
    daily
    rotate 90
    compress
    compresscmd /usr/bin/pigz
    compressoptions -9 -p 4
    compressext .gz
    delaycompress
    missingok
    notifempty
}

為什麼選擇 pigz?

  • 與 gzip 完全相容(標準格式)
  • 多執行緒加速
  • 不影響系統效能

4. 長期歸檔儲存

場景: 專案原始碼、設計檔案的長期歸檔

推薦:xz 或 7z(需要加密)

# 原始碼歸檔(無加密)
tar -cJf project_archive_$(date +%Y%m%d).tar.xz \
    --exclude='node_modules' \
    --exclude='.git' \
    project/

# 敏感檔案歸檔(加密)
7z a -t7z -m0=lzma2 -mx=9 -mhe=on -p'StrongPassword' \
    sensitive_archive.7z \
    ./sensitive_data/

為什麼選擇 xz/7z?

  • 極致壓縮率,節省長期儲存成本
  • 7z 提供加密選項
  • 歸檔後很少解壓,可接受較長壓縮時間

5. 網站靜態資源

場景: 網站伺服器上的靜態資源預壓縮

推薦:gzip + brotli(不在本文討論範圍)

# Nginx 配置
http {
    # 即時壓縮
    gzip on;
    gzip_vary on;
    gzip_types text/plain text/css application/json application/javascript;
    gzip_min_length 1000;

    # 預壓縮檔案(需要預先產生 .gz 檔案)
    gzip_static on;
}
# 預壓縮腳本
find /var/www/html -type f \( -name '*.js' -o -name '*.css' \) \
    -exec gzip -9 -k {} \;

為什麼選擇 gzip?

  • 瀏覽器廣泛支援
  • 解壓速度極快
  • 標準的 HTTP 壓縮格式

6. 遠端備份傳輸

場景: 透過網路傳輸大型備份檔案

推薦:zstd + rsync

# 遠端備份腳本
#!/bin/bash
SOURCE="/data/backup/"
DEST="user@remote:/backup/"

# 使用 zstd 壓縮,透過 rsync 傳輸
tar -c $SOURCE | zstd -10 -T$(nproc) | \
    ssh user@remote "cat > /backup/backup_$(date +%Y%m%d).tar.zst"

# 或使用 rsync 的內建壓縮
rsync -avz --compress-level=0 $SOURCE $DEST
# 注意:rsync 的 -z 使用 zlib,效率不如 zstd

為什麼選擇 zstd?

  • 快速壓縮,減少網路傳輸時間
  • 解壓速度快,恢復時間短
  • 壓縮率優於 gzip

進階技巧與最佳實踐

1. 壓縮前先評估

# 檢查檔案類型(某些檔案已經壓縮過)
file myfile.jpg  # JPEG images are already compressed
file myfile.mp4  # Video files are already compressed
file myfile.pdf  # PDFs may be compressed

# 已壓縮的檔案再壓縮效果不佳
gzip video.mp4  # 幾乎沒有壓縮效果,反而浪費時間

2. 使用管線組合工具

# 直接壓縮 pg_dump 輸出(不產生中間檔案)
pg_dump mydb | xz -9e -T$(nproc) > backup.sql.xz

# 遠端備份一步到位
tar -c /var/www | zstd -19 | ssh user@backup 'cat > www_backup.tar.zst'

# 分卷壓縮大檔案
tar -c large_directory/ | xz -9 | split -b 1G - backup.tar.xz.part

3. 驗證壓縮檔案完整性

# gzip
gzip -t file.gz

# xz
xz -t file.xz

# 7z
7z t archive.7z

# 壓縮時產生校驗碼
xz -9 file.txt
sha256sum file.txt.xz > file.txt.xz.sha256

# 恢復前驗證
sha256sum -c file.txt.xz.sha256

4. 記憶體受限環境

# 降低壓縮等級以減少記憶體使用
xz -6 large_file.txt  # 而非 -9

# 或使用記憶體友善的工具
gzip -9 large_file.txt  # gzip 記憶體使用量低

5. 自動化壓縮策略

#!/bin/bash
# 智慧壓縮腳本:根據檔案大小選擇工具

FILE=$1
SIZE=$(stat -f%z "$FILE")  # macOS
# SIZE=$(stat -c%s "$FILE")  # Linux

if [ $SIZE -lt 10485760 ]; then
    # < 10MB: 使用 gzip(快速)
    echo "Small file, using gzip..."
    gzip -9 "$FILE"
elif [ $SIZE -lt 104857600 ]; then
    # 10-100MB: 使用 zstd(平衡)
    echo "Medium file, using zstd..."
    zstd -19 "$FILE"
else
    # > 100MB: 使用 xz(極致壓縮)
    echo "Large file, using xz..."
    xz -9e -T$(nproc) "$FILE"
fi

常見問題與解答

Q1: 為什麼 xz 壓縮率最高?

A: xz 使用 LZMA2 演算法,特點是:

  • 更大的字典大小(dictionary size)
  • 更複雜的匹配演算法
  • 更有效的熵編碼

代價是更高的記憶體使用與更長的壓縮時間。


Q2: pigz 和 gzip 產生的檔案相容嗎?

A: 完全相容!pigz 產生的 .gz 檔案可以用 gzip 解壓,反之亦然。

# 用 pigz 壓縮
pigz -9 file.txt

# 用 gzip 解壓(沒問題)
gunzip file.txt.gz

Q3: 我應該使用 tar.gz 還是 tar.xz?

A: 取決於使用場景:

場景推薦原因
軟體發行tar.xz下載大小影響用戶體驗
快速備份tar.gz (或 tar.zst)時間更重要
長期歸檔tar.xz儲存成本考量
相容性優先tar.gz最廣泛支援

Q4: 可以壓縮已經壓縮過的檔案嗎?

A: 技術上可以,但沒有意義

# 不要這樣做
gzip image.jpg  # JPEG 已經壓縮,再壓縮幾乎沒效果
xz video.mp4    # MP4 已經壓縮,浪費時間

# 已壓縮的常見格式
.jpg, .jpeg  # 圖片
.mp3, .mp4   # 影音
.zip, .gz    # 壓縮檔
.pdf         # PDF(通常已壓縮)

Q5: 如何選擇壓縮等級?

A: 根據時間敏感度:

# 快速壓縮(節省時間)
gzip -1 file.txt
zstd -3 file.txt

# 平衡模式(預設)
gzip -6 file.txt  # 預設
xz -6 file.txt    # 預設

# 極致壓縮(節省空間)
gzip -9 file.txt
xz -9e file.txt

經驗法則:

  • 日常使用:預設等級就夠了
  • 網路傳輸:使用較高等級
  • 長期歸檔:使用最高等級

效能調校建議

1. 多執行緒最佳實踐

# 不要超過實體核心數
CORES=$(nproc)
xz -9e -T$CORES file.txt

# 如果是超執行緒 CPU,可以用一半
HALF_CORES=$(($(nproc) / 2))
xz -9e -T$HALF_CORES file.txt

# 為其他工作保留 1-2 個核心
RESERVED=2
xz -9e -T$(($(nproc) - $RESERVED)) file.txt

2. I/O 優化

# 使用管線避免中間檔案
tar -c directory/ | xz -9e -T$(nproc) > archive.tar.xz

# 而非
tar -cf archive.tar directory/
xz -9e -T$(nproc) archive.tar
rm archive.tar  # 額外的 I/O 操作

3. SSD vs HDD

# SSD: 可以使用更高的壓縮等級(I/O 快)
xz -9e -T$(nproc) file.txt

# HDD: 降低壓縮等級可能更快(避免 I/O 瓶頸)
xz -6 -T$(nproc) file.txt

總結與建議

快速參考指南

情境推薦工具命令
🏆 最高壓縮率xzxz -9e -T$(nproc) file
最快壓縮pigzpigz -9 -p $(nproc) file
⚖️ 平衡選擇zstdzstd -19 -T$(nproc) file
🔒 需要加密7z7z a -p'pwd' -mhe=on file.7z
📦 打包目錄tar+xztar -cJf archive.tar.xz dir/
🌐 通用相容gzipgzip -9 file

最佳實踐總結

  1. 資料庫備份 → xz(極致壓縮)
  2. CI/CD 流程 → zstd(快速+好壓縮率)
  3. 大檔案 → pigz(多核心加速)
  4. 敏感資料 → 7z(加密功能)
  5. 日誌歸檔 → pigz(相容性+速度)
  6. 長期儲存 → xz(最小體積)

最後的建議

“沒有最好的壓縮工具,只有最適合的壓縮工具。”

選擇壓縮工具時,考慮:

  • ⏱️ 時間是否充裕?
  • 💾 儲存空間是否有限?
  • 🔄 解壓頻率高不高?
  • 🔐 是否需要加密?
  • 🌍 相容性要求如何?

記住: 在大多數情況下,zstd 是現代化的最佳平衡選擇,而 xz 適合需要極致壓縮率的場景。


參考資源

官方文件

延伸閱讀

實用工具

# 壓縮率測試工具
brew install hyperfine  # 效能測試
brew install dust       # 磁碟空間視覺化

# 測試不同壓縮工具
hyperfine --warmup 1 \
  'gzip -9 -c file.txt > /dev/null' \
  'pigz -9 -c file.txt > /dev/null' \
  'xz -9 -c file.txt > /dev/null' \
  'zstd -19 -c file.txt > /dev/null'

文章撰寫日期: 2025-12-19 測試環境: macOS (Apple Silicon M1 Pro) 測試檔案: PostgreSQL 資料庫備份 (174 MB)