Linux 加快解压速度,使用 pigz 并行加速 Linux 压缩与解压

Linux下压缩或解压一个文件,通常使用tar.gz格式,对应的工具为 tar(打包工具)以及由-z参数指定的gzip(压缩解压工具)。

而默认的gzip工具是单线程工作的,在处理大文件时非常慢。

可以通过-I参数指定自定义的并行(多进程、多核)压缩解压工具 pigz 来进行加速。

pigz的官方自我介绍:

A parallel implementation of gzip for modern multi-processor, multi-core machines

使用方法安装 pigz 工具包(yum 或 apt)

将常规参数中的-z去掉,换上-I

1

2

3

4# 压缩

tar -I pigz -cvf package.tar.gz /path/to/file_or_folder

# 解压 (中括号内为可选,用于指定解压缩目标地址)

tar -I pigz -xvf package.tar.gz [-C /path/to/extracted]

注意事项:

常规的tar方法中czvf或xzvf中前边的-可省了,且fv或vf顺序可调整

此处因为要加入-I参数,不能省略-,且vf参数只能是f在后(f紧挨指定的压缩文件路径)

原理解析

tar 通常的用法为:

1

2

3

4# 压缩

tar -czvf package.tar.gz /path/to/file_or_folder

# 解压 (中括号内为可选,用于指定解压缩目标地址)

tar -xzvf package.tar.gz [-C /path/to/extracted]

我们来看一下tar --help返回的帮助信息中这几个参数的含义:

-c, --create create a new archive

-x, --extract, --get extract files from an archive

-z, --gzip, --gunzip, --ungzip filter the archive through gzip

-f, --file=ARCHIVE use archive file or device ARCHIVE

-C, --directory=DIR change to directory DIR

-v, --verbose verbosely list files processed

以及另外一个我们今天使用的参数:

-I, --use-compress-program=PROG filter through PROG (must accept -d)

通过以上信息,我们可以知道:

-z 的意思是使用 gzip 进行压缩或解压

-I 可以自定义你使用的压缩解压工具

相关信息

网上也有其他一些方案,例如管道组合之类的,不太好记。这里推荐-I参数的方法。

其他用法及对应的性能测试的效果,参考:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值