はじめに
このチュートリアルでは、Linux の less コマンドを使用して、大規模なログファイルを効率的に閲覧・分析する方法を学びます。less コマンドは、ターミナル上でテキストファイルを表示するための強力なツールであり、コンテンツのスクロール、特定情報の検索、ファイル内容のページごとの表示が可能です。
あなたがシステム管理者で、一連のサーバーエラーを調査する任務を負っていると想像してください。システムイベントに関する情報が含まれた巨大なログファイルにアクセスできますが、そのファイルは通常のテキストエディタで開くには大きすぎます。このような場面で、less コマンドは非常に価値のあるツールとなります。
ログファイルへのアクセス
まず、ログファイルが含まれているディレクトリに移動し、その内容を確認しましょう。
ターミナルを開きます。デフォルトで
/home/labex/projectディレクトリにいるはずです。ディレクトリの内容を一覧表示します:
ls
server_log.txt という名前のファイルが表示されるはずです。
lessコマンドを使用してこのファイルの内容を表示するには、次のように入力します:
less server_log.txt
このコマンドにより、less を通じて server_log.txt が開かれます。これでファイルの内容を閲覧できるようになりました。
注意:ログファイルは動的に生成されるため、表示される内容は以下の例と異なる場合があります。
2023-11-05 08:00:01 INFO: Server startup complete
2023-11-05 08:15:23 WARNING: High CPU usage detected
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...
less の表示画面を終了するには、q キーを押します。
ファイル内のナビゲーション
ファイルを開くことができたので、次はファイル内を移動(ナビゲート)する方法を学びましょう。
- 再度
lessでログファイルを開きます:
less server_log.txt
- 以下のキーを使用して移動します:
SpaceまたはPage Down:1 ページ進むbまたはPage Up:1 ページ戻るUp(上矢印)およびDown(下矢印)キー:1 行ずつ移動するG(Shift + g):ファイルの末尾へ移動するg:ファイルの先頭へ移動する
これらのナビゲーションコマンドを試して、ファイル内での移動に慣れてください。
- 確認が終わったら、
qを押してlessを終了します。
特定のコンテンツの検索
システム管理者として、特定の情報を素早く見つける必要があることがよくあります。less コマンドは強力な検索機能を提供します。
- 再度ログファイルを開きます:
less server_log.txt
- "ERROR" という単語を検索するには、
/ERRORと入力して Enter キーを押します。これにより、ファイル内のすべての "ERROR" がハイライト表示されます。 nを押すと次の "ERROR" に移動し、Nを押すと前の "ERROR" に戻ります。- 次に、特定の日付を検索してみましょう。まず
gを押してファイルの先頭に移動し、ログエントリの日付を確認します。ファイル内に存在する日付を選んでください(例えば、ファイル内に "2025-01-15" があれば、その日付を検索します)。/に続けて検索したい日付(例:/2025-01-15)を入力し、Enter キーを押します。 nとNを使用して、その日付の出現箇所間を移動します。- 検索が終わったら、
qを押してlessを終了します。
行番号の表示
ログを分析する際、参照用に行番号を表示しておくと便利です。
- 行番号を表示した状態でログファイルを開きます:
less -N server_log.txt
-N オプションは、less に行番号を表示するよう指示します。
- 各行の左側に行番号が表示されるようになります:
1 2023-11-05 08:00:01 INFO: Server startup complete
2 2023-11-05 08:15:23 WARNING: High CPU usage detected
3 2023-11-05 08:30:45 ERROR: Database connection failed
4 2023-11-05 08:31:02 INFO: Retrying database connection
5 2023-11-05 08:31:05 INFO: Database connection established
...
先ほどと同じようにファイル内を移動してみてください。行番号があることで、ファイル内のどの位置にいるかを把握しやすくなることに注目してください。
終わったら、
qを押してlessを終了します。
特定のパターンから開始する
特定の箇所からファイルの閲覧を開始したい場合があります。less コマンドを使えば、これを簡単に行うことができます。
- 例えば、データベースエラーの最初の発生箇所からファイルを表示したいとします。次のコマンドを使用します:
less +/ERROR:.Database server_log.txt
このコマンドは、ファイルを開くと同時に、"ERROR:" の後に任意の文字が続き、その後に "Database" が含まれる最初の行まで即座にジャンプするよう less に指示します。
- 最初のデータベースエラーの箇所でファイルが開かれた状態になります:
2023-11-05 08:30:45 ERROR: Database connection failed
2023-11-05 08:31:02 INFO: Retrying database connection
2023-11-05 08:31:05 INFO: Database connection established
...
この地点から、以前と同様にファイル内を自由に移動し続けることができます。
終わったら、
qを押してlessを終了します。
まとめ
このチュートリアルでは、less コマンドを使用して大規模なログファイルを効率的に閲覧・分析する方法を学びました。ファイルの展開、コンテンツのスクロール、特定情報の検索、行番号の表示、そして特定のパターンからの開始方法を実践しました。
これらのスキルは、トラブルシューティングやシステムパフォーマンスの監視のために、巨大なログファイルを迅速に分析する必要があるシステム管理者や開発者にとって極めて重要です。
このチュートリアルで紹介しきれなかった、その他の便利な less パラメータには以下のようなものがあります:
-i:検索時に大文字と小文字を区別しない-F:ファイル全体が 1 画面に収まる場合は即座に終了する-S:長い行を折り返さずに切り詰めて表示する+F:ファイルの末尾を監視し、新しく追記された内容をリアルタイムで表示する(tail -fと同様の動作)



