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

一、概述

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

 

二、安装

环境说明

操作系统:centos 7.6

配置:4核8g

 

安装

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

yum install -y epel-release
yum makecache
yum -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

 

posted @   肖祥  阅读(1001)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示