Linux下lz4解壓縮命令小結


 

lz4是一個讓"人見人愛、花見花開"的壓縮算法,能夠在多核上很好的擴展。lz4在壓縮率上略微遜色, 但是在解壓速度上有着驚人的優勢 (大概是gzip的3倍(多次測試對比))。因為壓縮時高效的多核利用,再加上驚艷的解壓,lz4已經在非常多重要場合使用了! 對於需要頻繁壓縮、實時快速解壓的場景來說,lz4非常適合lz4 解壓縮的對象是文件而不是目錄。

1)lz4工具安裝

# yum install -y lz4 lz4-devel 

2)lz4解壓縮命令格式

壓縮 (默認解壓之后的名稱filename.lz4)
# lz4 filename       

解壓縮
# lz4 -d filename.lz4

centos7下默認有lz4_decompress 命令,可以直接解壓, 並可以定義解壓后的文件名
# lz4_decompress filename.lz4 filename
# lz4_decompress filename.lz4 filename.txt

3)lz4參數解釋

查看幫助
[root@localhost~]# lz4 --help

參數
-1:  快速壓縮(默認)
-9:  高壓縮
-d:  解壓縮(默認為.lz4擴展名)
-z:  強制壓縮
-f:  覆蓋輸出而不提示
-k:  保留源文件(默認)
--rm:  成功地解除/壓縮后刪除源文件
-h/-h:  顯示幫助/長幫助和退出

高級參數
-v:  顯示版本號並退出
-v:  詳細模式
-q:  取消警告;指定兩次也可以取消錯誤
-c:  強制寫入標准輸出,即使它是控制台
-t:  測試壓縮文件完整性
-m:  多個輸入文件(表示自動輸出文件名)
-r:  在目錄上遞歸操作(也設置為-m)
-l:  使用舊格式壓縮(Linux內核壓縮)

4)lz4解壓縮示例

[root@MGR-node3 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
 
[root@MGR-node3 ~]# cd /opt/
[root@localhost opt]# ls
test
[root@localhost opt]# cat test
haha,hello world!!
 
1) 對test文件進行壓縮
[root@localhost opt]# lz4 test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%       
[root@localhost opt]# ls
test  test.lz4
 
快速壓縮(-1參數),默認的就是快速壓縮,如上面那條命令
[root@localhost opt]# rm -f test.lz4
[root@localhost opt]# lz4 -1 test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%
[root@localhost opt]# ls
test  test.lz4
 
高壓縮(-9參數)
[root@localhost opt]# rm -f test.lz4
[root@localhost opt]# lz4 -9 test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%   
[root@localhost opt]# ls
test  test.lz4
 
當出現同名壓縮文件時,直接壓縮默認會有是否覆蓋的提示信息
[root@localhost opt]# lz4 -9 test
Compressed filename will be : test.lz4
test.lz4 already exists; do you wish to overwrite (y/N) ? y
Compressed 8 bytes into 27 bytes ==> 337.50%     
 
已存在同名壓縮文件時,直接壓縮而不輸出是否覆蓋的提示信息
[root@localhost opt]# lz4 -9 -f test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%                                  
[root@localhost opt]# ls
test  test.lz4
 
壓縮文件時,保留源文件 (-f 參數),默認壓縮后就是保留源文件,所以-f參數加不加都可以
[root@localhost opt]# rm -f test.lz4
[root@localhost opt]# lz4 test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%                                  
[root@localhost opt]# ls
test  test.lz4
 
[root@localhost opt]# rm -f test.lz4
[root@localhost opt]# lz4 -f test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%                                  
[root@localhost opt]# ls
test  test.lz4
 
壓縮成功后,將源文件刪除 (--rm參數)
[root@localhost opt]# rm -f test.lz4
[root@localhost opt]# ls
test
[root@localhost opt]# lz4 --rm test
Compressed filename will be : test.lz4
Compressed 8 bytes into 27 bytes ==> 337.50%  
[root@localhost opt]# ls
test.lz4
 
2)對壓縮文件進行解壓縮
 
默認通過-d參數進行解壓縮
[root@localhost opt]# ls
test.lz4
[root@localhost opt]# lz4 -d test.lz4
Decoding file test
test.lz4             : decoded 8 bytes    
[root@localhost opt]# ls
test  test.lz4
[root@localhost opt]# cat test
haha,hello world!!
 
也可以使用lz4_decompress命令進行解壓縮,並且可以自定義解壓縮之后的文件名
[root@localhost opt]# rm -f test
[root@localhost opt]# ls
test.lz4
[root@localhost opt]# lz4_decompress test.lz4 kevin        #將test.lz4解壓縮,解壓縮之后為kevin文件
[root@localhost opt]# ls
kevin  test.lz4
[root@localhost opt]# cat kevin
haha,hello world!!
 
3) 壓縮時,取消告警提示信息 (-q參數)
[root@localhost opt]# rm -f test.lz4
[root@localhost opt]# ls
kevin
[root@localhost opt]# lz4 -q kevin
[root@localhost opt]# ls
kevin  kevin.lz4
[root@localhost opt]# lz4 -q -f kevin   
[root@localhost opt]# lz4 -q -f --rm kevin
[root@localhost opt]# ls
kevin.lz4
 
4)對多個文件進行匹配壓縮
[root@localhost opt]# ls
bobo  kevin
[root@localhost opt]# lz4 -m bobo kevin
[root@localhost opt]# ls
bobo  bobo.lz4  kevin  kevin.lz4
 
[root@localhost opt]# rm -rf bobo kevin
[root@localhost opt]# ls
bobo.lz4  kevin.lz4
 
[root@localhost opt]# lz4 -d bobo.lz4 -q
[root@localhost opt]# lz4 -d kevin.lz4 -q   
[root@localhost opt]# ls
bobo  bobo.lz4  kevin  kevin.lz4


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM