tail

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

tail(テール)はUNIXおよびUNIX系のシステムで、テキストファイルパイプ上のデータの末尾から数行を表示するプログラムである。Coreutils の一部。

文法[編集]

このコマンドの文法は以下の通り。

tail [options] <file_name>

デフォルトでは、tail は入力の末尾10行を標準出力に表示する。表示すべき行数はコマンド行オプションで指定でき、表示単位(行、ブロック、バイトなど)も変更できる。以下の例では、filename の末尾20行を表示する。

tail -n 20 filename

次の例では、名前が foo* で始まる全てのファイルの末尾15バイトを表示する。

tail -c 15 foo*

次の例では、filename の先頭から2行目以降を全て表示する。

tail -n +2 filename

古い文法では(Solaris など)、filename の末尾20行の表示や末尾50バイトの表示は次のように記される。

tail -20 filename
tail -50c filename

しかし、この構文は既に古く、POSIX 1003.1-2001 に準拠していない。現在のバージョンでこの構文がサポートされているとしても、他のオプション(たとえば後述の -f)とともに指定することはできない。

ファイル監視[編集]

tail には特殊なコマンド行オプション -f (follow) があり、ファイルの監視ができる。末尾数行を表示して終了するのではなく、表示後もファイルの監視を続ける。他のプロセスの処理によって新たな行がそのファイルに追加されると、tail は表示を更新する。これは特にログファイルを監視するのに便利である。以下のコマンドは messages の最後尾10行を表示後、messages に新たな行が追加される度にそれを表示する。

tail -f /var/adm/messages

監視中の tail を停止させるには、CTRL-C を押下する。このコマンドは & を付けてバックグラウンドで実行することもできる(ジョブコントロール)。

また、類似オプションとして -F (follow) が設けられているものも存在する。-f はコマンド起動時に開いたファイルを監視するが、-F は開いたファイルのinodeを監視し、inode 番号の変化を検出すると、ファイルを開き直す。以下のコマンドは前例同様 messages の最後尾10行を表示後、messages に新たな行が追加される度にそれを表示する。

tail -F /var/adm/messages

前者との違いは、/var/adm/messages がローテートされると、前者ではローテートに伴う移動先のファイル(例えば messages.1 など)を監視しつづけるのに対し、後者では /var/adm/messages を監視しつづける点である。

類似のプログラム[編集]

  • CCZE - tail に似ているが、表示がカラーになっている。
  • pctail - CCZE に似た、Python で書かれた色つき Tail。
  • root-tail - X Window Systemのルートウィンドウに出力を表示する。
  • Inotail - 本来の tail は新たな表示すべきデータがあるかどうかを毎秒チェックする。Inotail は Linuxカーネルにある inotify インタフェースを使うので、本当に何らかの新たなデータがあるときだけチェックする。
  • MultiTail - ログファイルをカラーで表示するだけでなく、マージ、フィルター、スクロールバック、サブウィンドウへの分割などが可能。tail、sedwatch、CCZE/pctail、grepdiffBeeper などの組合せである。

関連項目[編集]

外部リンク[編集]