Linux中使用pigz工具更快的壓縮和解壓文件

導讀 pigz(parallel implementation of gzip)是一個並行執行的壓縮工具,解壓縮比gzip快,同時CPU消耗是gzip的好幾倍,在對短時間內CPU消耗較高不受影響的場景下,可以使用pigz。

環境

Centos7 RAM:2GB , CPU: 4vcpus

安裝

# 安裝epel擴展源
[root@localhost ~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# yum makecache
# 安裝pigz
[root@localhost ~]# yum -y install pigz

如何壓縮文件

下面幾個是常用參數:

  • -p n: 壓縮時使用的核心數量,默認使用所有核心
  • -k: 壓縮後保留源文件
  • -l: 列出壓縮輸入的內容。
  • -6: 默認的壓縮級別
  • -9: 壓縮率最高,但是速度慢
  • -1: 壓縮率最低,速度最快

例如:壓縮FreeNAS-11.2-U7.iso文件,如果需要保留源文件,可以添加-k參數:

[root@localhost ~]# pigz -k FreeNAS-11.2-U7.iso 

Linux中使用pigz工具更快的壓縮和解壓文件Linux中使用pigz工具更快的壓縮和解壓文件
可以使用-l選項查看壓縮後文件的壓縮率:

[root@localhost ~]# pigz -l FreeNAS-11.2-U7.iso.gz 
compressed   original reduced  name
 576426218  602378240    4.3%  FreeNAS-11.2-U7.iso

Linux中使用pigz工具更快的壓縮和解壓文件Linux中使用pigz工具更快的壓縮和解壓文件

如何壓縮目錄

Pigz沒有壓縮文件夾的選項,只可以壓縮單個文件。pigz可以和tar命令一起使用,來壓縮文件夾。

[root@localhost ~]# tar -cvf - /var/log | pigz -k > logs.tar.gz

Linux中使用pigz工具更快的壓縮和解壓文件Linux中使用pigz工具更快的壓縮和解壓文件
查看一下壓縮信息:

[root@localhost ~]# pigz -l logs.tar.gz 
compressed   original reduced  name
    698038    9093120   92.3%  logs.tar
[root@localhost ~]# 

Linux中使用pigz工具更快的壓縮和解壓文件Linux中使用pigz工具更快的壓縮和解壓文件

如何解壓文件

解壓單個文件,解壓方式:

[root@localhost test]# unpigz -d FreeNAS-11.2-U7.iso.gz 
# 如果需要保留源壓縮文件,請添加-k參數
[root@localhost test]# pigz -k -d FreeNAS-11.2-U7.iso.gz 

解壓一個目錄,解壓方式:

[root@localhost test]# tar -xf logs.tar.gz 

Linux中使用pigz工具更快的壓縮和解壓文件Linux中使用pigz工具更快的壓縮和解壓文件

總結

pigz是一個並行執行的壓縮工具,解壓縮比gzip快,同時CPU消耗是gzip的好幾倍,在對短時間內CPU消耗較高不受影響的場景下,可以使用pigz。

原文地址:https://www.linuxprobe.com/linux-pigz-compress.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章