例でLinuxでXZ(Lossless Data Compression Tool)を学ぶ


xz は、 gzip bzip2 に似た、新しい汎用のコマンドラインデータ圧縮ユーティリティです。選択した操作モードに応じてファイルを圧縮または解凍するために使用できます。ファイルを圧縮または解凍するためのさまざまな形式をサポートしています。

使用する圧縮ユーティリティの選択は、主に2つの要因、つまり特定のツールの圧縮速度と速度によって異なります。対応するものとは異なり、 xz は一般的には使用されていませんが、最高の圧縮率を提供します。

この記事では、Linuxでファイルを圧縮および解凍するための xzコマンドの例をいくつか説明します。

LinuxでXZコマンドの例を学ぶ

xz でファイルを圧縮する最も簡単な例は、 -z または --compress オプションを使用したものです。

$ ls -lh ClearOS-DVD-x86_64.iso
$ xz ClearOS-DVD-x86_64.iso
OR
$ xz -z ClearOS-DVD-x86_64.iso

ファイルを解凍するには、 -d オプションまたは unxz ユーティリティを使用してください。

$ xz -d ClearOS-DVD-x86_64.iso
OR
$ unxz ClearOS-DVD-x86_64.iso

入力ファイルが削除されないようにするには、次のように -k フラグを使用します。

$ xz -k ClearOS-DVD-x86_64.iso

同じ名前の圧縮ファイルが存在するなど、操作が失敗した場合は、 -f オプションを使用して処理を強制することができます。

$ xz -kf ClearOS-DVD-x86_64.iso 

xz は、さまざまな圧縮プリセットレベル( 0 9 、デフォルトは 6 )もサポートしています。 0 には --fast (ただし最も圧縮率が低い)、 9には --best などのエイリアスを使用することもできます。 >(低速だが最高の圧縮)以下の例のように、圧縮レベルを指定できます。

$ xz -k -8 ClearOS-DVD-x86_64.iso 
$ xz -k --best ClearOS-DVD-x86_64.iso

システムメモリの容量が少なく、巨大なファイルを圧縮したい場合は、 –memory = limit オプション(制限はMBまたはRAMのパーセンテージで指定できます)を使って設定できます。次のような圧縮のためのメモリ使用量の制限。

$ xz -k --best --memlimit-compress=10% ClearOS-DVD-x86_64.iso

-q オプションを使用してクワイエットモードで実行するか、または図のように -v フラグを指定して冗長モードを有効にすることができます。

$ xz -k -q ClearOS-DVD-x86_64.iso
$ xz -k -qv ClearOS-DVD-x86_64.iso

以下は、 xz ユーティリティでtarアーカイブユーティリティを使用する例です。

$ tar -cf - *.txt | xz -7 > txtfiles.tar.xz
OR
$tar -cJf txtfiles.tar.xz *.txt

-t オプションを使用して圧縮ファイルの整合性をテストできます。また、 -l フラグを使用して圧縮ファイルに関する情報を表示できます。

$ xz -t txtfiles.tar.xz
$ xz -l txtfiles.tar.xz

詳細については、 man xz ページをご覧ください。

xz は強力で、これまでのところLinuxシステムに最適な圧縮ツールです。この記事では、ファイルを圧縮および解凍するためのxzコマンドの例をいくつか調べました。下記のフィードバックフォームを使用して質問をしたり、このツールについてのあなたの考えを共有してください。あなたが使用している圧縮ツールについても教えてください。