概要
サーバー運用やシステム保守の現場において、.bz2 形式で圧縮アーカイブされたログを調査する際、いちいち解凍(伸張)していては貴重なストレージ容量を圧迫し、無駄な待機時間も発生します。そこでおすすめなのが、アーカイブを展開することなく直接ページャーで中身をスクロール閲覧できる bzless コマンドです。本記事では、Ubuntu環境をベースに bzless の基本的な操作手順から効率的な検索テクニック、さらには関連ユーティリティ(bzgrep や bzcat)との使い分けまで、ハンズオン形式でわかりやすく解説します。
1. bzip2パッケージの導入確認と検証用アーカイブの作成
作業を始めるにあたり、環境内に bzless が利用可能な状態かチェックし、未導入であれば bzip2 パッケージ一式をインストールしておきます。

動作テスト用の模擬ログデータを用意するため、echo コマンドを使ってタイムスタンプやステータスを含む複数行のテキストファイル app_server.log を生成しましょう。
![echo -e “[2026-10-15 01:00:01] INFO Service started\n[2026-10-15 01:05:22] WARN High memory usage\n[2026-10-15 01:10:45] ERROR Connection timeout\n[2026-10-15 01:15:30] INFO Healthcheck OK” > app_server.log](/ubuntu/20261015_022705_78/captures/s01_c02_echo_-e___2026-10-15_01_00_01__INFO_Service_starte.png)
作成したテキストファイルを圧縮します。通常の bzip2 実行では元ファイルが削除されてしまうため、-k オプションを指定して原本を保持したまま app_server.log.bz2 を出力します。

アーカイブファイルが正常に作られたことを確かめるため、ls -lh app_server.log.bz2 でファイルサイズやタイムスタンプを確認します。

2. bzlessによる圧縮ログのダイレクト閲覧
事前解凍を行うことなくアーカイブの中身を直接画面に展開するには、bzless app_server.log.bz2 を実行します。
内部で標準の less ページャーが稼働するため、矢印キーやスペースキーで自在に画面送り・巻き戻しが行え、終了したいときはいつでも q キーを押すだけでプロンプトに戻れます。

3. 行番号の表示とキーフレーズの高速検索
ログ調査の精度を高めるには、行番号を付与して表示できる -N オプションが極めて効果的です。bzless -N app_server.log.bz2 と入力して実行します。
画面左端に行番号が並ぶため、トラブル発生箇所の特定やチームメンバーへの共有が格段にスムーズになります。
ビューワーが開いている最中に /検索文字列(例: /ERROR)を入力すれば、合致するログ行へ即座にジャンプできます。次の一致箇所へ進むには n キー、前の一致箇所へ戻るには N キーを活用しましょう。

4. 実務で役立つ関連ツール(bzcat・bzgrep)との使い分け
アーカイブ全体を順次スクロールするのではなく、特定のエラー行だけを素早く洗い出したい場合は、bzgrep "ERROR" app_server.log.bz2 を実行します。
圧縮を展開することなく指定したパターンを含むレコードのみをピンポイントでターミナルに出力できるため、緊急のインシデント調査で真価を発揮します。

対話型画面ではなく、解凍されたテキストストリームをパイプ経由で別コマンドへ流し込みたいユースケースでは bzcat が最適です。例えば bzcat app_server.log.bz2 | head -n 2 と記述すれば、先頭の2行だけを瞬時に取り出すことが可能です。
対話的な目視チェックには bzless、スクリプト連携やフィルタリング(grep や awk、head などとのパイプ処理)には bzcat というように、目的に応じて柔軟に使い分けることで作業効率が大幅に向上します。

以上、Ubuntu環境においてアーカイブをわざわざ伸張することなく、bzless でスマートに .bz2 ファイルの中身を精査する実践ノウハウを紹介しました。
ディスクリソースを無駄遣いせず、迅速に大容量ログを調査したいシーンでぜひ本コマンドを役立ててみてください。