一、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