首頁 > 軟體

檔案壓縮工具pbzip2安裝及使用介紹

2020-06-16 16:57:51

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的

[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工具。

本文永久更新連結地址http://www.linuxidc.com/Linux/2018-01/150144.htm


IT145.com E-mail:sddin#qq.com