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