概要
末尾数行または末尾数バイトを表示します。更新されるログを追う用途では-fや-Fがよく使われます。
基本構文
tail [オプション]... [ファイル]...詳細解説
tailは、ファイルや標準入力の末尾部分を表示するコマンドです。headが冒頭確認なら、tailは直近の状態確認に向いています。ログやキュー、処理結果の末尾だけを見たい時に非常に便利です。
特に重要なのは-fによる追尾です。アプリケーションログやサービスログをリアルタイムに追い、直近の動きだけを監視できます。ログローテーションに強くしたい場合は-Fも選択肢になります。
ただし、巨大なバイナリや回転の激しいログに対して無造作に追尾すると、読みづらさや誤認が起こります。目的に応じて-n、-f、-Fを使い分けることが大切です。
このコマンドを使う場面
ログの最新状態を見たい時、処理の最後の数行だけを確認したい時、更新中のファイルをリアルタイム監視したい時に使います。
まず安全に試す方法
1. seq 1 20 > nums.txt
2. tail -n 3 nums.txt
3. tail -f nums.txt を起動し、別端末で追記します。
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
seqの結果にtail -n 3を適用します。
-
tail -fで開いた状態で別端末から追記し、更新が見えることを確認します。
資格試験との関連
-
LinuC レベル1
範囲: 1.03.2 フィルタを使ったテキストストリームの処理根拠: officialtailは、テキスト処理系の基本フィルタとしてLinuCレベル1の範囲に関わります。
-
LPIC-1
範囲: 103.2 フィルタを使ったテキストストリームの処理根拠: officialtailは、LPIC-1でテキストストリームへフィルタを適用する技能と関係します。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorialtailは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。
実行結果サンプル
-
seq 1 10 | tail -n 38 9 10
戻り値コード
- 0 正常終了。末尾表示や追尾を行えました。
- >0 対象不存在や読取失敗などで失敗しました。
使用例
tail -n 100 app.logtail -f /var/log/auth.logtail -F app.log
よくあるエラー
-
ログローテーション後に追尾が止まったように見える 原因: -fでファイル記述子を追い続けています。対処: 名前ベース追尾が必要なら-Fを使います。
導入・互換性情報
POSIXの基本機能は共通です。GNU実装では-Fなど便利な追尾拡張があります。
注意点 / セキュリティリスク
危険度は低いですが、-fで張り付き続けると終了を忘れたり、別ファイルへ切り替わったことに気付きにくくなったりします。ログローテーションの有無も意識してください。
FAQ
-
Q. headとの違いは何ですか。 A. tailは末尾、headは先頭を表示します。
-
Q. リアルタイム監視に向きますか。 A. はい。tail -fはログ監視の基本です。
関連用語
参照リンク
- カテゴリー: Text Processing
- レベル: Beginner
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎