No.041テキスト処理
tail
テイル・末尾行表示・追尾
末尾数行または末尾数バイトを表示します。更新されるログを追う用途では-fや-Fがよく使われます。
答えよく使う形
$ seq 1 10 | tail -n 3
8 9 10
$ tail -n 100 app.log
$ tail -f /var/log/auth.log
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中で30 コマンド・11 駅め / 30LPIC-1・18 駅め / 106
どんなコマンド?
ログの最新状態を見たい時、処理の最後の数行だけを確認したい時、更新中のファイルをリアルタイム監視したい時に使います。
tailは、ファイルや標準入力の末尾部分を表示するコマンドです。headが冒頭確認なら、tailは直近の状態確認に向いています。ログやキュー、処理結果の末尾だけを見たい時に非常に便利です。
特に重要なのは-fによる追尾です。アプリケーションログやサービスログをリアルタイムに追い、直近の動きだけを監視できます。ログローテーションに強くしたい場合は-Fも選択肢になります。
ただし、巨大なバイナリや回転の激しいログに対して無造作に追尾すると、読みづらさや誤認が起こります。目的に応じて-n、-f、-Fを使い分けることが大切です。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ tail
使用例と実行結果
行を押すとコピーできます。
8 9 10
まず安全に試す
tail -f nums.txt を起動し、別端末で追記します。
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 2
つまずいたとき
ログローテーション後に追尾が止まったように見える
原因-fでファイル記述子を追い続けています。
こうする名前ベース追尾が必要なら-Fを使います。
終わったときの数(戻り値)
$ echo $?
- 0正常終了。末尾表示や追尾を行えました。
- >0対象不存在や読取失敗などで失敗しました。
気をつけることと入れ方
危険度は低いですが、-fで張り付き続けると終了を忘れたり、別ファイルへ切り替わったことに気付きにくくなったりします。ログローテーションの有無も意識してください。
環境による違い
POSIXの基本機能は共通です。GNU実装では-Fなど便利な追尾拡張があります。
確かめた環境2026-04-09 に確認
よくある質問
headとの違いは何ですか。
tailは末尾、headは先頭を表示します。
リアルタイム監視に向きますか。
はい。tail -fはログ監視の基本です。
資格試験では
- LinuC レベル1大事1.03.2 フィルタを使ったテキストストリームの処理
- LPIC-1大事103.2 フィルタを使ったテキストストリームの処理
- 共通基礎大事Linuxコマンド基礎
tail を最後まで読みました。
Linux コマンド辞典に戻る114 / 144