Linux命令 xz - POSIX 平臺開發(fā)具有高壓縮率的工具

2022-03-25 09:34 更新

xz

POSIX 平臺開發(fā)具有高壓縮率的工具

補(bǔ)充說明

xz命令 XZ Utils 是為 POSIX 平臺開發(fā)具有高壓縮率的工具。它使用 LZMA2 壓縮算法,生成的壓縮文件比 POSIX 平臺傳統(tǒng)使用的 gzip、bzip2 生成的壓縮文件更小,而且解壓縮速度也很快。最初 XZ Utils 的是基于 LZMA-SDK 開發(fā),但是 LZMA-SDK 包含了一些 WINDOWS 平臺的特性,所以 XZ Utils 為以適應(yīng) POSIX 平臺作了大幅的修改。XZ Utils 的出現(xiàn)也是為了取代 POSIX 系統(tǒng)中舊的 LZMA Utils。

語法

xz(選項(xiàng))(參數(shù))
xz [OPTION]... [FILE]...

選項(xiàng)

-z, --compress    # 強(qiáng)制壓縮
-d, --decompress, --uncompress
                  # force decompression
-t, --test        # 測試壓縮文件的完整性
-l, --list        # 列出有關(guān).xz文件的信息
-k, --keep        # 保留(不要刪除)輸入文件
-f, --force       # 強(qiáng)制覆蓋輸出文件和(解)壓縮鏈接
-c, --stdout, --to-stdout
                  # 寫入標(biāo)準(zhǔn)輸出,不要刪除輸入文件
-0 ... -9         # 壓縮預(yù)設(shè); 默認(rèn)為6; 取壓縮機(jī)*和*
                  # 使用7-9之前解壓縮內(nèi)存使用量考慮在內(nèi)!
-e, --extreme     # 嘗試通過使用更多的CPU時間來提高壓縮比;
                  # 要求不影響解壓縮存儲器
-T, --threads=NUM # 最多使用NUM個線程; 默認(rèn)值為1;  set to 0
                  # 設(shè)置為0,使用與處理器內(nèi)核一樣多的線程
-q, --quiet       # 抑制警告; 指定兩次以抑制錯誤
-v, --verbose     # 冗長; 指定兩次更詳細(xì)
-h, --help        # 顯示這個簡潔的幫助并退出
-H, --long-help   # 顯示更多幫助(還列出了高級選項(xiàng))
-V, --version     # 顯示版本號并退出

參數(shù)

  • 源文件:指定連接的源文件。
  • 目標(biāo)文件:指定源文件的目標(biāo)連接文件。

實(shí)例

壓縮一個文件 test.txt,壓縮成功后生成 test.txt.xz, 原文件會被刪除。

$ xz test.txt
$ ls test.txt*

test.txt.xz

解壓 test.txt.xz 文件,并使用參數(shù) -k 保持原文件不被刪除

$ xz -d -k test.txt.xz
$ ls test.txt*

test.txt.xz test.txt

使用參數(shù) -l 顯示 .xz 文件的基本信息?;拘畔▔嚎s率、數(shù)據(jù)完整性驗(yàn)證方式等。也可以和參數(shù) -v 或 -vv 配合顯示更詳盡的信息。

xz -l index.txt.xz
# Strms  Blocks   Compressed Uncompressed  Ratio  Check   Filename
#    1       1        768 B      1,240 B  0.619  CRC64   index.txt.

使用參數(shù) -0, -1, -2, … -6, … -9 或參數(shù) --fast, --best 設(shè)定壓縮率。xz 命令的默認(rèn)為 -6 ,對于大多數(shù)系統(tǒng)來說,甚至是一些較舊的系統(tǒng),-4 … -6 壓縮率預(yù)設(shè)值都不錯的表現(xiàn)。

$ xz -k7 xz_pipe_decomp_mini.c
$ xz -k --fast xz_pipe_decomp_mini.c

使用參數(shù) -H 顯示 xz 命令所有 options. 參數(shù) -H 比使用參數(shù) --help 顯示的內(nèi)容更詳細(xì)。

$ xz -H  | more

借助 xargs 命令并行壓縮多文件。下面的命令行可以將 /var/log 目錄下所有的擴(kuò)展名為 .log 的文件壓縮。通過 xargs 命令同時運(yùn)行多個 xz 進(jìn)行壓縮。

# 運(yùn)行此命令須有 root 權(quán)限。
find /var/log -type f -iname "*.log" -print0 | xargs -P4 -n16 xz -T1


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號