Linux / コマンド / xz - ファイルを xz 形式で圧縮する

xzはファイルを.xz形式に圧縮します。個別ファイル圧縮ツールなので、ディレクトリ構造を一緒に保存するにはtarと組み合わせる必要があります。

通常は圧縮に成功するとfile.xzを作成し、入力のfileを削除します。-kで入力を保持し、-cで標準出力へ書き出します。-Tはスレッド数の指定です。高い圧縮設定では圧縮時だけでなく解凍時のメモリ要件も確認します。

基本的な文法

xz [オプション] [ファイル ...]

インストールされている実装とオプションは、配布版によって異なる場合があります。man xzで現在のシステムの説明を確認してください。

使用例

元のファイルを保持して圧縮

既存のdatabase.sqlを用意し、同じ場所にdatabase.sql.xzがないことを確認します。-kで入力を残して圧縮します。

xz -k database.sql

圧縮結果を別名で保存

標準出力に圧縮データを送ります。対象ファイルの存在を先に確認します。

xz -c database.sql > database-copy.sql.xz

圧縮ファイルのチェック

実際に抽出ファイルを作成せずに圧縮データのエラーを確認します。

xz -t database.sql.xz

xz 圧縮とテストの結果

xz は単一ファイルを .xz 形式で圧縮します。基本的に元のファイルを置き換えるので、元のファイルを保持する場合は -k を使用します。

xz -k note.txt
xz -t note.txt.xz
ls note.txt*

例の出力:

note.txt  note.txt.xz

xz -tは内部で解凍して、利用可能な整合性チェックも検証し、結果のファイルは作りません。成功時は通常何も表示しません。既存の同名出力があれば通常は上書きせず、エラーでスキップします。複数ファイルを1つにまとめる場合はtarによるアーカイブ、復元はunxzによる解凍を参照してください。

主なオプションと形式

オプション・形式 説明
-k 処理した入力ファイルを保持します。
-c 結果を標準出力に送ります。
-t 圧縮ファイルを検査します。
-0 ... -9 圧縮レベルを選択します。
-T スレッド数 圧縮作業のスレッド数を指定します。

使用する際の注意点

基本実行では元のファイルを削除します。-9e のような高設定はメモリと時間をより多く消費する可能性があり、復元環境の制約も考慮する必要があります。.xz はマルチファイルアーカイブではなく、ファイルのセキュリティや暗号化は提供しません。

よくある質問

xzとtar.xzの違いは何ですか?

.xzは通常1つのファイルの圧縮ストリームであり、.tar.xzはtarで複数のファイルをまとめた後にxzで圧縮したアーカイブです。

公式ドキュメント

オプションの正確な動作や実装ごとの差は、xz関連の公式ドキュメントで確認できます。