天天看點

文本壓縮工具pbzip2安裝及使用介紹或者

pbzip2安裝及使用

Debian/Ubuntu: 'apt-get update; apt-get install pbzip2' or get the Deb package

Linux版本:RedHat:

yum install pbzip2 -y

簡介

平時大檔案的壓縮喜歡使用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常用示例:

壓縮單個檔案(指定4個線程并行壓縮)提示:如果此處采用gzip壓縮的話,非常的消耗時間,而采用pbzip2壓縮,則比gzip壓縮快好多同時壓縮效率比gzip還要高。當時此時的pbzip2壓縮線程是非常的消耗伺服器的CPU的

壓縮提示錯誤,加上參數-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工具。

參考資料:

<a href="https://github.com/wing324/helloworld_zh/blob/master/Linux/pbzip2%E5%AE%89%E8%A3%85%E5%8F%8A%E4%BD%BF%E7%94%A8.md">https://github.com/wing324/helloworld_zh/blob/master/Linux/pbzip2%E5%AE%89%E8%A3%85%E5%8F%8A%E4%BD%BF%E7%94%A8.md</a>

 本文轉自 wjw555 51CTO部落格,原文連結:http://blog.51cto.com/wujianwei/2058162

繼續閱讀