個人github中會有更多新鮮剛出爐的文章。
linux版本:debian8.5
pbzip2安裝:apt-get install pbzip2
pbzip2詳情請見:pbzip2的安裝與使用
bzip2(單執行緒壓縮工具)
# 壓縮單個檔案測試
# 單個檔案大小
root@wing:/data # du -h 2016.sql
3.4g 2016.sql
# tar bzip2 壓縮命令
time tar -jcf 2016.sql.bz2 2016.sql
# 單個檔案壓縮時間
real 10m7.996s
user 10m4.632s
sys 0m13.276s
# 壓縮後檔案大小
root@wing:/data # du -sh 2016.sql.bz2
220m 2016.sql.bz2
# 壓縮目錄測試
# 目錄檔案大小
root@wing:/data # du -sh 20161122/
6.9g 20161122/
# tar bzip 只能使用乙個核進行壓縮
time tar -jcvf 20161122_bzip.bz2 20161122/*
# 目錄壓縮時間
real 24m30.013s
user 22m51.936s
sys 0m23.872s
# 壓縮後檔案大小
root@wing:/data # du -h 20161122.bz2
356m 20161122.bz2
pbzip2(多執行緒壓縮工具)# 壓縮單個檔案測試
# 單個檔案大小
root@wing:/data # du -h 2016.sql
3.4g 2016.sql
# pbzip2壓縮命令
time pbzip2 -p3 -k 2016.sql
# 單個檔案壓縮時間
real 3m22.909s
user 9m55.092s
sys 0m16.284s
# 壓縮後檔案大小
root@wing:/data # du -sh 2016.pbzip.bz2
221m 2016.pbzip.bz2
# 壓縮目錄測試
# 目錄檔案大小
root@wing:/data # du -sh 20161122/
6.9g 20161122/
# tar bzip pbzip 使用3個核進行壓縮
time tar -c 20161122 | pbzip2 -p3 -c > 20161122.tar.bz2
# 目錄壓縮時間
real 7m31.688s
user 22m5.736s
sys 0m42.520s
# 壓縮後檔案大小
root@wing:/data # du -h 20161122.tar.bz2
358m 20161122.tar.bz2
總結:
bzip
pbzip(3個執行緒)
原檔案大小
3.4g
3.4g
檔案壓縮時間( real)
10m7.996s
3m22.909s
檔案壓縮大小
220m
221m
原目錄大小
6.9g
6.9g
目錄壓縮時間(real)
24m30.013s
7m31.688s
目錄壓縮大小
356m
358m
注意:壓縮時間使用real計算,而不使用user+sys計算的原因是,多執行緒下user的時間是每個執行緒時間之和,與我們可以感知到的時間偏差較大,所以選擇real,該伺服器上都是初始化的job,所以real更接近使用者感知的時間。
從上面**可以得出,pbzip2開啟3個執行緒壓縮的前提下,無論是壓縮單個檔案還是壓縮目錄,時間上比單執行緒bzip2壓縮快了接近3倍,而壓縮比也基本相同。
zip壓縮工具
yum install y zip yum install y unzip命令語法 zip 選項 引數 命令描述 zip命令可以用來解壓縮檔案,或者對檔案進行打包操作,它可以壓縮目錄或檔案,壓縮目錄時,需要指定目錄下的檔案。zip是個使用廣泛的壓縮程式,檔案經它壓縮後會另外產生具有 zip 副檔名的...
打包壓縮工具
1 建立歸檔,保留許可權 tar cpvf path file.tar file.root centos7 test tar cvfp f.tar f f1.txt 對多個檔案進行打包 f2.txt f3.txt 壓縮工具僅能支援單個檔案壓縮,因此配合打包工具實現打包壓縮 2 追加檔案至歸檔 不支援...
Linux壓縮工具
gzip,gunzip,zcat compress or expand files gzip option filenames d 解壓縮,相當於gunzip 指定壓縮比 1 9 預設為6,數字越大壓縮比越大,消耗的cpu越多,壓縮後的空間越小 c 壓縮後標準輸出,且保留原始檔 所以要跟 重定向輸出...