はじめに

こんにちは!今回はlzcatコマンドについて解説します。

lzcat.xz形式の圧縮ファイルを解凍して表示するコマンドです。gzipやbzip2より高い圧縮率で圧縮された大きなファイルを扱うときに活躍します。

圧縮ファイルをそのまま表示できるので、一時的なファイル作成が不要。サーバーの容量が限られた環境で便利です。


lzcatコマンドとは

lzcatは、.xz形式(LZMA2圧縮)のファイルを解凍しながら表示する外部コマンドです。標準出力に解凍内容を出力するため、パイプと組み合わせやすいですね。

.xz形式はgzipやbzip2より高い圧縮率を実現。特に大規模データの配布やアーカイブに使われています。


基本構文

1
lzcat [ファイル名...]

標準入力からのデータも受け取れます。


主なオプション

オプション 説明
-v 詳細表示
-q 警告メッセージを抑制
-k 元ファイルを保持
-t ファイルをテスト

使用例

例1: 圧縮ファイルを表示

1
lzcat archive.tar.xz

実行結果:

1
(tar圧縮ファイルの内容が表示される)

圧縮ファイルを自動的に解凍して表示。

例2: ファイルの内容を確認

1
lzcat logfile.xz | head -20

実行結果:

1
最初の20行が表示される

大きなログを解凍して先頭だけ確認。

例3: 圧縮されたテキストを検索

1
lzcat document.xz | grep "keyword"

実行結果:

1
keywordを含む行が表示される

解凍せずにファイル内を検索。

例4: 圧縮ファイルを別ファイルに解凍

1
lzcat archive.tar.xz > archive.tar

実行結果:

1
(archive.tarが作成される)

標準出力をリダイレクトして解凍。

例5: パイプでtar展開

1
lzcat archive.tar.xz | tar -x

実行結果:

1
ファイルが展開される

解凍とタール展開を同時実行。

例6: 複数の圧縮ファイルを処理

1
lzcat file1.xz file2.xz file3.xz | less

実行結果:

1
複数ファイルが連結されて表示される

複数の圧縮ファイルを連続処理。

例7: ファイルをテスト

1
lzcat -t archive.xz

実行結果:

1
(ファイルの整合性がテストされる)

圧縮ファイルが破損していないか確認。

例8: エラー抑制で処理

1
lzcat -q archive.xz > output.txt

実行結果:

1
エラーメッセージなく処理される

警告メッセージを表示しない。

例9: 圧縮率を確認

1
ls -lh archive.tar.xz archive.tar

実行結果:

1
2
archive.tar.xz 100M
archive.tar    500M

.xz形式の高い圧縮率を確認。

例10: gzipと組み合わせ

1
lzcat archive.xz | gzip > archive.gz

実行結果:

1
(別の形式に再圧縮)

異なる形式への変換が可能。


Tips・注意点

gzipやbzip2との違い

.xzは最も高い圧縮率を実現。ただし処理に時間がかかります。

1
2
3
gzip   # 速度重視
bzip2  # バランス
xz     # 圧縮率重視

元ファイルの保持

通常のunxzは元ファイルを削除。

1
2
lzcat file.xz > file  # 元ファイル残る
unxz file.xz          # 元ファイル削除

標準入力対応

パイプでの処理が得意。

1
cat file.xz | lzcat  # 可能

シンボリックリンク

zcatbzcatと同じ使い方。

1
lzcat = xzcat  # 同じコマンド

実践的な使い方

ログファイル分析

1
lzcat /var/log/syslog.xz | grep -c "ERROR"

エラーメッセージの数を集計。

Linuxソースコード確認

1
lzcat linux-6.1.tar.xz | tar -t | head

圧縮されたタールの内容を確認。

ネットワーク経由でのファイル転送

1
ssh host "lzcat /data/backup.xz" > backup

リモートマシンから圧縮ファイルを受信。

バッチ処理で複数ファイル変換

1
2
3
for file in *.xz; do
  lzcat "$file" | gzip > "${file%.xz}.gz"
done

一括で形式変換。


まとめ

lzcatコマンドのポイント:

  • 高圧縮率 - .xz形式の解凍表示
  • パイプ対応 - 標準出力へ出力
  • -t: ファイルテスト
  • -q: エラー抑制
  • 元ファイル残存 - lzcatは解凍後も元ファイルが残る
  • よく使う組み合わせ: lzcat file.xz, lzcat | tar -x

高い圧縮率が必要な大容量ファイルで活躍。パイプと組み合わせると、ディスク容量を節約しながらファイル処理ができますよ!