1. 程式人生 > >Linux 常用檔案壓縮用法 壓縮和解壓

Linux 常用檔案壓縮用法 壓縮和解壓

執行環境:CentOS7.4
目前壓縮前的檔案大小84G:

tar -c --xz   -f 20180814.tar.xz 20180814/
tar -c --lzma   -f 20180814.tar.lzma 20180814/
tar -c --gzip   -f 20180814.tar.gz 20180814/
tar -c --bzip2   -f 20180814.tar.bz2 20180814/
tar -c --lzip   -f 20180814.tar.lzip 20180814/
tar -c --lzop   -f 20180814.tar.lzop 20180814/

解壓方式:
tar -x --xz   -f 20180814.tar.xz      可簡寫為:tar -xJvf 20180814.tar.xz
tar -x --lzma   -f 20180814.tar.lzma 
tar -x --gzip   -f 20180814.tar.gz    可簡寫為:tar -xzvf 20180814.tar.gz
tar -x --bzip2   -f 20180814.tar.bz2 可簡寫為:tar -xjvf 20180814.tar.bz2
tar -x --lzip   -f 20180814.tar.lzip
tar -x --lzop   -f 20180814.tar.lzop 

均採用預設的壓縮等級。
壓縮時間  壓縮後大寫 壓縮比 壓縮期間CPU利用率  CPU負載  IO讀 IO寫 記憶體  

比對之前的軟體安裝:
yum -y install lz4
yum -y install lzip
yum -y install lrzip
yum -y install lzop
yum -y install xz
yum -y install xz-lzma-compat
yum -y install zip
yum -y install plzip
yum -y install tar  gzip
yum -y install pigz
yum -y install bzip2 
yum -y install pbzip2
yum -y install lbzip2
yum -y install lz4

註釋:pigz 是對gzip的並行支援,XZ則被稱之為壓縮率之王。
     pbzip2 是對bzip2的並行支援,還有一種對bizp2的並行支援軟體是lbzip2.
plzip 是對zip檔案的並行支援。
上述的軟體包版本都可以
在EPEL repo中直接安裝下載
rar和windows下常見的zip:
https://forensics.cert.org/cert-forensics-tools-release-el7.rpm
yum -y --enablerepo=forensics install rar
yum -y --enablerepo=forensics install unrar
pbzip2的壓縮命令:
tar -cf dumper.tar.bz2 --use-compress-prog=pbzip2 -p 8 dumper/
pigz的壓縮命令:
tar cvf - dumper | pigz > dumper_pigz.tar.gz
壓縮:
tar --use-compress-program=pigz -cvpf package.tgz ./package
解壓:
tar --use-compress-program=pigz -xvpf package.tgz -C ./package

軟體的版本軟下:


壓縮等級:
統採壓縮等級有1-9,預設為6.
1 等同於 --fast 即壓縮時間最快
9 等同於 --best 即壓縮比最大,壓縮後的檔案最小。
6 預設值,即在壓縮時間和壓縮率上綜合考慮。

結論:
注意:壓縮時間使用real計算,而不使用user+sys計算的原因是,多執行緒下user的時間是每個執行緒時間之和,與我們可以感知到的時間偏差較大,所以選擇real,該伺服器上都是初始化的job,所以real更接近使用者感知的時間。

參考:
https://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
https://linuxaria.com/article/linux-compressors-comparison-on-centos-6-5-x86-64-lzo-vs-lz4-vs-gzip-vs-bzip2-vs-lzma

http://bogdan.org.ua/2015/03/28/compressors-galore-pbzip2-lbzip2-plzip-xz-and-lrzip-tested-on-a-fastq-file.html