xz ファイルを xz 形式で圧縮する
xz [オプション] ファイル...試してみる
ls -l logs圧縮前のサイズを確認します。
xz logs/app.log圧縮します。元のファイルは消え、app.log.xz ができます。
xz -k logs/web.log-k を付けると、元のファイルを残したまま圧縮します。
xz -l logs/web.log.xz-l で、圧縮前後のサイズと圧縮率を表示します。
xzcat logs/app.log.xz | head -n 2展開せずに、圧縮したまま中身を表示します。
unxz logs/app.log.xz展開して元に戻します(xz -d と同じです)。
主なオプション
-d | 展開する(unxz と同じ) |
|---|---|
-k | 元のファイルを残す |
-c | 結果を標準出力に書き、元のファイルは変更しない |
-0 から -9 | 圧縮の度合いを指定する。標準は -6 |
-l | 圧縮ファイルの情報を表示する |
-T スレッド数 | 使うスレッド数を指定する |
解説
使い方は gzip や bzip2 と同じ
xz ファイル で ファイル.xz ができ、元のファイルは消えます。-k で元を残す、-d や unxz で展開する、-c で標準出力に出す、という基本の動作は gzip や bzip2 と同じです。
圧縮率
3つのうち圧縮率がもっとも高い傾向があり、ディストリビューションの配布ファイルやカーネルのソースなど、大きなファイルの配布によく使われます。そのかわり、圧縮に時間とメモリが多くかかります。展開は圧縮ほど遅くありません。
中身を確認する
展開せずに中身を見るときは xzcat(または xz -dc)を使います。xzless や xzgrep もあります。
tar との組み合わせ
複数のファイルをまとめて圧縮するときは、tar -cJf archive.tar.xz ディレクトリ とします。オプションが大文字の -J である点に注意しましょう。小文字の -j は bzip2 です。展開は tar -xJf archive.tar.xz です。