• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 使用 pigz 平行化 GZip 加速壓縮、解壓縮教學與範例

介紹如何在 Linux 中使用平行化版本的 GZip,使用多 CPU 核心加快壓縮大量資料的速度。


一般 Linux 上標準的 gzip 壓縮工具受限於單一 CPU 核心的運算速度,壓縮資料的吞吐量非常有限,資料量大時會耗費非常久的時間。

pigz 是平行化版本的 GZip 壓縮工具,可以運用多 CPU 核心大幅提升資料壓縮的速度,以下是 pigz 的使用教學。

安裝 pigz

若要在 Ubuntu Linux 系統上安裝 pigz,可以使用 apt 安裝:

# 安裝 pigz(Ubuntu)
sudo apt install pigz

若是 CentOS Linux,則可使用 yum 安裝:

# 安裝 pigz(CentOS)
sudo yum install pigz

壓縮檔案

pigz 的使用方式跟 gzip 非常類似,若要使用 pigz 壓縮單一檔案,可以執行:

# 壓縮檔案
pigz large_file

壓縮之後就會產生一個 large_file.gz 壓縮檔,而原始的檔案則會被刪除,若要保留原始檔案,可以加上 -k 參數。

若要指定壓縮的程度,可以使用 -1 到 -9 參數,-1 代表壓縮速度最快,但壓縮後檔案最大:

# 壓縮速度快、壓縮後檔案大
pigz -1 large_file

而 -9 則代表壓縮速度最慢,但壓縮後檔案最小:

# 壓縮速度慢、壓縮後檔案小
pigz -9 large_file

解壓縮檔案

若要使用 pigz 解壓縮 GZip 的壓縮檔案,可以使用 -d 參數:

# 解壓縮 GZip 檔案
pigz -d large_file.gz

或是使用 unpigz 也可以:

# 解壓縮 GZip 檔案
unpigz large_file.gz

指定 CPU 核心數

pigz 預設會使用所有的 CPU 核心進行壓縮(或解壓縮),如果要限制其使用的 CPU 核心數,可以用 -p 指定使用的 CPU 核心數上限值,例如使用 4 顆 CPU 核心進行壓縮:

# 使用 4 顆 CPU 核心進行壓縮
pigz -p 4 large_file

tar 搭配 pigz

若要讓 tar 可以搭配 pigz 進行檔案的壓縮,可以在執行 tar 指令時加上 -I 參數將壓縮程式指定為 pigz:

# 搭配 pigz 壓縮
tar -I pigz -cf large.tar.gz large_folder

解壓縮的方式相同:

# 搭配 pigz 解壓縮
tar -I pigz -xf large.tar.gz

參考資料:StackOverflow

分類:Linux

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide