tail テイル

英語表記tail

日本語表記末尾行表示・追尾

正式名称tail

危険度安全

What does it mean?

末尾数行または末尾数バイトを表示します。更新されるログを追う用途では-fや-Fがよく使われます。

Command Quest

tail を今日の道具にする

末尾数行または末尾数バイトを表示します。更新されるログを追う...

$ tail [オプション]... [ファイル]...
関連用語3
次のコマンド0
FAQ2
参照3

概要

末尾数行または末尾数バイトを表示します。更新されるログを追う用途では-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分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. seqの結果にtail -n 3を適用します。

  2. tail -fで開いた状態で別端末から追記し、更新が見えることを確認します。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.2 フィルタを使ったテキストストリームの処理
    根拠: official
    tailは、テキスト処理系の基本フィルタとしてLinuCレベル1の範囲に関わります。
  • LPIC-1
    範囲: 103.2 フィルタを使ったテキストストリームの処理
    根拠: official
    tailは、LPIC-1でテキストストリームへフィルタを適用する技能と関係します。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    tailは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。

オプション

  • -n 行数
    末尾から指定行数を表示します。
    tail -n 100 app.log
  • -f
    ファイルの追記を追尾します。
    tail -f app.log
  • -F
    名前再オープンも含めて追尾し、ローテーションに強くします。
    tail -F app.log

実行結果サンプル

  • seq 1 10 | tail -n 3
    8
    9
    10

戻り値コード

  • 0 正常終了。末尾表示や追尾を行えました。
  • >0 対象不存在や読取失敗などで失敗しました。

使用例

  • tail -n 100 app.log
  • tail -f /var/log/auth.log
  • tail -F app.log

よくあるエラー

  • ログローテーション後に追尾が止まったように見える
    原因: -fでファイル記述子を追い続けています。
    対処: 名前ベース追尾が必要なら-Fを使います。

導入・互換性情報

POSIXの基本機能は共通です。GNU実装では-Fなど便利な追尾拡張があります。

注意点 / セキュリティリスク

危険度は低いですが、-fで張り付き続けると終了を忘れたり、別ファイルへ切り替わったことに気付きにくくなったりします。ログローテーションの有無も意識してください。

FAQ

  • Q. headとの違いは何ですか。
    A. tailは末尾、headは先頭を表示します。
  • Q. リアルタイム監視に向きますか。
    A. はい。tail -fはログ監視の基本です。

関連用語

  • 標準エラー出力
  • log
  • syslog

参照リンク

関連記事