Tail

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を監視しつづける点である。