乐趣区

关于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/rep…
[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


能够应用 -l 选项查看压缩后文件的压缩率:

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

如何压缩目录

Pigz 没有压缩文件夹的选项,只能够压缩单个文件。pigz 能够和 tar 命令一起应用,来压缩文件夹。

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


查看一下压缩信息:

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

698038    9093120   92.3%  logs.tar

[root@localhost ~]#

如何解压文件

解压单个文件,解压形式:

[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

总结

pigz 是一个并行执行的压缩工具,解压缩比 gzip 快,同时 CPU 耗费是 gzip 的好几倍,在对短时间内 CPU 耗费较高不受影响的场景下,能够应用 pigz。

退出移动版