首页 >> 学习 >> Linux常用命令 >> pbzip2、pbunzip2
pbzip2/pbunzip2命令

本节重要性:★★★★☆    本节难度:★★★★☆

现在的服务器CPU一般是多核的,但zip、gzip和bzip2都只能使用一个核心,如果文件比较大的话,压缩时间会很长。pbzip2/pbunzip2可以使用多个核心并行压缩/解压缩,极大地提高了效率。

命令用途

多核心并行压缩/解压缩文件

命令格式

pbzip2 [option] file

pbunzip2 [option] file.bz2

常用选项

-c	输出到stdout
-d	解压
-f	覆盖已存在的输出文件
-h	输出帮助
-k	保留输入文件
-l	最大可用处理器数量
-m	最大可用内存,单位MB,默认100MB
-p	处理器数量,默认自动检测,检测失败设置为2
-q	安静模式,不输出处理信息
-r	读取整个输入文件到内存,在各处理器间分开处理
-S	子线程栈大小
-t	测试压缩文件的完整性
-v	输出详细信息
-V	输出pbzip2版本信息
-z	压缩(默认启用)
-1	设置BWT预处理块大小,单位100k,1压缩速度最快,但是压缩率最低。默认900k
--ignore-trailing-garbage=#	是否忽略文件末尾对齐数据块(1忽略,0禁止)

常见用法

pbzip2的用法与bzip2类似,如果不用-p参数定义使用的cpu核心数目,则使用全部可用核心。压缩后的文件后缀也是.bz2。

[peter@ibi98 zip]$ ll
总用量 440264
-rw-rw-r-- 1 peter peter 450829079  3月 28 21:03 GCF_000001405.33_GRCh38.p7_rna.fna
[peter@ibi98 zip]$ time bzip2 GCF_000001405.33_GRCh38.p7_rna.fna

real    1m19.876s
user    1m18.517s
sys     0m0.794s
[peter@ibi98 zip]$ time bunzip2 GCF_000001405.33_GRCh38.p7_rna.fna.bz2

real    0m24.281s
user    0m23.029s
sys     0m1.060s
[peter@ibi98 zip]$ time pbzip2 GCF_000001405.33_GRCh38.p7_rna.fna

real    0m9.745s
user    1m42.689s
sys     0m5.635s
[peter@ibi98 zip]$ time pbunzip2 GCF_000001405.33_GRCh38.p7_rna.fna.bz2

real    0m4.473s
user    0m45.796s
sys     0m3.971s

上面是用bzip2和pbzip2做的压缩时间比较,bzip2用了接近1分20秒,而pbzip2只用了不到10秒,压缩时间大大缩短。解压缩使用pbunzip2时速度也快了很多。

<<上一节  下一节>>