Linux 高壓縮率工具 XZ 壓縮詳解


一、XZ 基礎信息

XZ 壓縮比比較高,在這里沒有進行詳細對比。

官網鏈接: https://tukaani.org/xz/

官網介紹到: 壓縮后的文件大小 gzip 小30%,比bzip2小15%。

我測試 一個 112M 的文件,xz 壓縮完后 4.5M, gz 壓縮完后 16M, biz2 縮完后7.6M.
壓縮比: xz >biz2 > gzip

二、安裝

yum install epel-release
yum  install  xz 

三、詳解

3.1、常用的參數

默認壓縮后的文件后綴為 xz

-z	強制執行壓縮, 默認不保留源文件。壓縮后的文件名為源文件.xz
-d	強制執行解壓縮
-l	列出壓縮文件的信息
-k	保留源文件不要刪除
-f	強制覆蓋輸出文件和壓縮鏈接
-c	寫入到標准輸出,輸入文件不要刪除
-0..-9	壓縮比例,默認為6
-e  使用更多的 CPU time 來進行壓縮,提高壓縮率。不會影響解壓時所需要的內存。
-T  指定線程數,默認是 1 ,當設置為 0 時使用和機器核心一樣多的線程。
--format=  指定壓縮輸出格式,可以是 raw、xz、lzma
-v	顯示更詳細的信息

注意點: 壓縮后的文件時在和源文件同一個目錄。當我們壓縮的文件為 /home/nginx/logs/error.log-20191126 ,當我們在任意目錄執行完 xz /home/nginx/logs/error.log-20191126 后,壓縮后的文件路徑是 /home/nginx/logs/error.log-20191126.xz.

3.2、 常用命令

xz 進行壓縮的時候,默認使用的內存為 總內存的 5% 左右。

  • 壓縮文件(源文件不保留)
xz   /home/nginx/logs/error.log-20191126
  • 壓縮文件(源文件保留)
xz -k /home/nginx/logs/error.log-20191126

壓縮的時候設定最大使用內存 --memlimit-compress= 示例:--mem‐
limit-compress=80MiB

  • 解壓縮文件
xz -d  /home/nginx/logs/error.log-20191126.xz

或者

unxz  /home/nginx/logs/error.log-20191126.xz 

解壓縮的時候設定最大使用內存 --memlimit-decompress=

  • 指定多線程數來進行壓縮
xz -T 4  /home/nginx/logs/error.log-20191126

四、擴展

4.1、unxz

xz 壓縮包的解壓命令

4.2、xzcat

xz --decompress --stdout
查看壓縮文件的內容

4.3、lzma

xz --format=lzma
壓縮格式為 lzma

4.4、unlzma

xz --format=lzma --decompress
解壓 壓縮格式為 lzma 的壓縮包

4.5、lzcat

xz --format=lzma --decompress --stdout


免責聲明!

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



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