pigz 快速压缩与解压缩
Linux Pigz是一款高性能,是能并行多核处理的文件压缩工具,速度非常快,可以打包和解压由 tar -zcvf/-zxvf 打包并压缩的文件(即标准的 .tar.gz 文件),但需要结合 tar 命令一起使用。
适用场景:大文件、多核 CPU 环境,需快速压缩/解压。
原理:tar -zcvf 生成的 .tar.gz 文件原理是:先用 tar 打包文件(生成 .tar),再用 gzip 压缩(生成 .tar.gz);而pigz 是多线程版本的 gzip,完全兼容 gzip 格式,因此可以替代 gzip 进行解压和压缩。
1、pigz
需要安装
sudo yum install pigz # CentOS/RHEL
2、压缩文件/目录
压缩单个文件
pigz -9 -k filename # 压缩单个文件 -9: 最高压缩比,-k: 保留原文件
压缩目录,以压缩 temp 目录为例,命令如下
tar -cvf - temp | pigz -9 > temp.tar.gz
3、解压文件
解压单个文件
pigz -d filename.gz # 解压到当前目录
解压 .tar.gz 文件
以压缩文件 temp.tar.gz 为例,命令如下
pigz -dc temp.tar.gz | tar -xvf - 解压到当前目录pigz -dc temp.tar.gz | tar -xvf - -C aa/ 解压到aa目录