-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常用示例:
压缩单个文件(指定4个线程并行压缩)提示:如果此处采用gzip压缩的话,非常的消耗时间,而采用pbzip2压缩,则比gzip压缩快好多同时压缩效率比gzip还要高。当时此时的pbzip2压缩线程是非常的消耗服务器的CPU的
[root@cacti tmp]# pbzip2 drnew0430.sql -z -p4 -k > drnew0430.sql.bz2
pbzip2: *ERROR: Output file [drnew0430.sql.bz2] already exists! Use -f to overwrite...
压缩提示错误,加上参数-f解决报错:
[root@cacti tmp]# pbzip2 drnew0430.sql -z -p4 -f -k > drnew0430.sql.bz2
[root@cacti tmp]# du -sh 2017-12-21drnew0430.sql.gz drnew0430.sql.bz2 drnew0430.sql
1.1G 2017-12-21drnew0430.sql.gz
778M drnew0430.sql.bz2
5.0G drnew0430.sql
验证pbzip2比gzip压缩快好多同时压缩效率比gzip还要高
解压文件(指定3个线程)
pbzip2 -d -p3 -k drnew0430.sql.bz2
压缩目录(指定3个线程)
tar -c test_dir/* | pbzip2 -c -p3 -f -k > test_dir.tar.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工具。