Linux中使用pigz工具更快的压缩和解压文件

发布时间:2021-07-21 16:57:50编辑:admin阅读(3998)

    一、概述

    pigz(parallel implementation of gzip)是一个并行执行的压缩工具,解压缩比gzip快,同时CPU消耗是gzip的好几倍,在对短时间内CPU消耗较高不受影响的场景下,可以使用pigz。

     

    二、安装

    环境说明

    操作系统:centos 7.6

    配置:4核8g

     

    安装

    先安装epel扩展源,再安装pigz

    yum install -y epel-releaseyum makecacheyum -y install pigz

     

    如何压缩文件

    下面几个是常用参数:

    -p n: 压缩时使用的核心数量,默认使用所有核心
    -k: 压缩后保留源文件
    -l: 列出压缩输入的内容。
    -6: 默认的压缩级别
    -9: 压缩率最高,但是速度慢
    -1: 压缩率最低,速度最快

    例如:压缩FreeNAS-11.2-U7.iso文件,如果需要保留源文件,可以添加-k参数:

    pigz -k FreeNAS-11.2-U7.iso

     

    可以使用-l选项查看压缩后文件的压缩率:

    pigz -l FreeNAS-11.2-U7.iso.gz

     

    如何压缩目录

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

    tar -cf - /var/log | pigz -k > logs.tar.gz

     

    查看一下压缩信息:

    pigz -l logs.tar.gz

     

    如何解压文件

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

    unpigz -d FreeNAS-11.2-U7.iso.gz

     

    如果需要保留源压缩文件,请添加-k参数

    pigz -k -d FreeNAS-11.2-U7.iso.gz

     

    解压一个目录,解压方式:

    tar -xf logs.tar.gz

     

    总结

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

     

    三、压缩速度对比

    我的/opt目录有15g,下面来测试tar和pigz,对/opt进行压缩。

    tar压缩

    time tar -cf - /opt | pigz -k > opt1.tar.gz

    执行输出:

    real    7m53.205s
    user    6m42.194s
    sys    0m32.886s

    花费了7分53秒

     

    pigz压缩

    time tar -cf - /opt | pigz -k > opt2.tar.gz

    输出:

    real    4m35.899s
    user    6m27.790s
    sys    0m31.144s

    花费了4分35秒

     

    从结果上来对比,pigz显然更快,换算一下,大概快了41.8%

     

     

    本文参考链接:

    https://www.linuxprobe.com/linux-pigz-compress.html


关键字

上一篇: docker 修改默认网段

下一篇: 没有了