はじめに
こんにちは!今回はtailコマンドについて解説します。
tailはファイルの末尾を表示するコマンドです。ログファイルの最新情報を確認するときに、めっちゃよく使います。
「ファイルの最後の部分を見たい」ってときに便利。ログ監視の基本コマンドですね。
tailコマンドとは
tailは、ファイルの最後の行を表示する外部コマンドです。デフォルトでは最後の10行を表示します。
アプリケーションやシステムのログファイルは容量が大きいことが多いので、tailで最新のログだけを確認します。-fオプションでリアルタイム監視も可能な、便利なコマンドです。
基本構文
|
|
デフォルトではファイルの最後の10行を表示します。
主なオプション
| オプション | 説明 |
|---|---|
-n 行数 |
表示する行数を指定(デフォルト10) |
-f |
ファイルを監視(追記されたら表示) |
-F |
-fと同様(削除・回転されたファイルも追跡) |
-c バイト |
最後のバイト数を表示 |
-q |
ファイル名を表示しない |
--pid=PID |
プロセスが終了したら監視を中止 |
使用例
例1: 基本的なtail
|
|
実行結果:
|
|
ログファイルの最後の10行を表示。
例2: 表示行数を指定
|
|
実行結果:
|
|
最後の20行を表示。-nを省略してtail -20でも同じです。
例3: リアルタイム監視
|
|
実行結果:
|
|
ログファイルを監視。新しく追記された行がリアルタイムで表示されます。Ctrl+Cで停止。
例4: ファイル回転に対応した監視
|
|
実行結果:
|
|
-Fオプションでログローテーション(ファイルが削除・置換される)に対応。ずっと監視できます。
例5: 特定の行数から表示
|
|
実行結果:
|
|
100行目以降のすべての行を表示。+をつけると「この行以降」という意味になります。
例6: バイト数を指定
|
|
実行結果:
|
|
最後の1024バイトを表示。行単位ではなくバイト単位での指定ができます。
例7: 複数ファイルの監視
|
|
実行結果:
|
|
複数ファイルをリアルタイム監視。
例8: パイプで他コマンドと組み合わせ
|
|
実行結果:
|
|
ログから特定のパターンのみを抽出。エラーログの監視に便利。
Tips・注意点
tailとheadの違い
|
|
headはファイルの先頭を表示。用途で使い分けます。
ログ監視時のタイムスタンプ付き
|
|
ログの各行に現在時刻を付与。トラブル発生時刻の特定に便利。
Ctrl+C以外での監視終了
|
|
親プロセスが終了すると自動で監視を中止。スクリプト内での利用に便利。
実践的な使い方
Webサーバーログの監視
|
|
APIリクエストのみを監視。アクセスパターン分析に利用できます。
システムエラーの監視
|
|
システムログからエラーをリアルタイム抽出。問題発生の早期検知ができます。
デバッグログの確認
|
|
開発中のアプリケーションログを監視。デバッグに必須です。
ログのグレップと行番号
|
|
最後の1000行からパターンを検索。問題発生箇所の特定に便利。
まとめ
tailコマンドのポイント:
- ファイルの末尾を表示する基本コマンド
- -n 行数: 表示する行数を指定(デフォルト10)
- -f: ファイルをリアルタイム監視
- -F: ログローテーション対応の監視
- -c バイト: バイト数を指定
- +行番号: 指定行以降を表示
- よく使う組み合わせ:
tail -f,tail -n 20
ログファイルはどんどん成長するので、tailでここ最近のログだけを見ることが大切です。ログ監視はシステム管理の基本。tail -fで監視する癖をつけておくと、トラブル対応がグッと楽になりますよ!