Linux 壓縮最常使用的是 Gzip,遇到資料夾、多檔案就會使用 tar + gzip 來搭配使用~
現在的時代,CPU 核心越來越多,GZip 都還是單核心使用,有點浪費,於是 pigz 因此產生~
- 註:壓縮演算法一樣是 gzip,所以壓縮、解壓縮方法都可用 gzip 替代,只是有沒有將 CPU 用到極致的差異~
Linux 使用 PIGZ 平行化加速 Gzip 壓縮
pigz (Parallel Implementation of GZip):傳統 gzip 的高效能平行化替代方案,透過多執行緒來縮短壓縮、解壓縮的時間。
pigz 安裝
- apt install pigz
pigz 壓縮
- pigz filename # 預設會使用所有核心 → filename.gz
- pigz -p 4 filename # 指定使用 4顆 CPU 執行緒數量
- pigz -k filename # 保留原始檔案不刪除
pigz 壓縮效率
- pigz 壓縮效率高,跟 gzip 一樣 1~9,數字越大壓縮出來檔案容量越小
- pigz -1 filename
- pigz -9 filename
pigz 解壓縮
- pigz -d filename.gz
- unpigz filename.gz
壓縮多檔案、資料夾 tar 搭配 pigz
- tar cf - /path/folder | pigz > backup.tar.gz
- tar -I pigz -cf backup.tar.gz /path/folder
解壓縮 tar 搭配 pigz
- tar -I pigz -xf backup.tar.gz
- tar -xf backup.tar.gz # 直接用原始 gzip 單CPU 解壓縮亦可