Linux版本:Debian8.5

简介

平时大文件的压缩喜欢使用bzip2,虽然bzip2的压缩率很高,但是压缩时长实在无法忍受,于是,通过强大的Google找到了pbzip2这款工具,pbzip2作为多线程版本的bzip2工具,压缩比和bzip2基本相当,但是压缩时间比bzip2减少了线程数倍数,毕竟bzip2是单线程工作,pbzip2是多线程工作。详情请见:bzip2与pbzip2压缩工具比较

pbzip2安装

apt-get install pbzip2

pbzip2参数详解

Usage: pbzip2 [-1 .. -9][-b#cdfhklm#p#qrS#tVz] <filename> <filename2> <filenameN>

-1…-9

设置BWT(一种压缩技术算法)的block大小为100k...900k(默认为900k)

-b#

block大小,单位是100k(默认9=900k)

-c,--stdout

输出到stdout

-d,--decompress

解压文件

-f,--force

覆盖已经存在的输出文件

-h,--help

输出帮助信息

-k,--keep

保留被压缩的文件(默认删除被压缩文件),这里是歌大坑,所以使用pbzip2压缩时,切记一定要携带-k参数

-l,--loadavg

由load average(平均负载)决定使用CPU的最大数量

-m#

最大内存使用量,单位:1MB(默认 100=100MB)

-p#

指定CPU数,即线程数(默认自动检测,检测失败后为2)

-q,--quiet

静默模式

-r,--read

读取整个文件进入内存,并在各个CPU分开处理

-S#
子线程的stack(堆栈)大小,单位:1KB

-t,--test
完整的测试压缩文件

-v,--verbose
详细信息模式

-V,--version

输出pbzip2的版本信息

-z,--compress

压缩文件(默认值)

--ignore-trailing-garbage=#
是否忽略文件末尾对齐数据块(1忽略,0禁止)

pbzip2常用示例

  • 压缩单个文件(指定3个线程)

pbzip2 test.sql -z -p3 -k > test.sql.bz2
  • 压缩目录(指定3个线程)

tar -c test_dir/* | pbzip2 -c -p3 -k > test_dir.tar.bz2
  • 解压文件(指定3个线程)

pbzip2 -d -p3 -k test.sql.bz2
  • 解压目录(指定3个线程)

pbzip2 -d -p3 -k test_dir.tar.bz2
tar -xf test_dir.tar
# 或者
pbzip2 -d -p3 -k test_dir.tar.bz2 && tar -xf test_dir.tar

pbzip2限制

由于pbzip2只能压缩文件,不能对目录进行压缩,所以如果想使用pbzip2压缩目录,则需要借助tar工具。


wing324
30 声望2 粉丝

Fianna IS WORLD & Tech IS LIFE。