Linuxコマンド辞典 tail/tailfコマンド(テキスト処理)

ファイルの末尾を表示する/追跡して表示する「tail/tailf」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

tailは指定したファイルを末尾から指定された行数だけ表示します。行数の指定がない場合は末尾10行を表示します。ファイルを指定しない場合や「-」が代わりに指定された場合は、標準入力からの入力を待ちます。

複数のファイル名を指定した場合は、「==>ファイル名<==」で区切られたヘッダを各ファイルの先頭に表示します。

tailコマンドはログをリアルタイムで表示したい場合に、よく利用されます。-fオプションを使って追記されるログファイルの末尾の表示を更新し続けます。

長期間しようする場合は、ログローテーションによってファイルが変わることで更新が途切れてしまうので注意が必要。追跡が必要な場合は、–folow=name、–retryオプション、–follow=descripterオプション、-Fオプションを使用すると良いでしょう。

書式

$ tail [オプション] [ファイル名・・・]
$ tailf [ファイル名]

tailfはファイルを追跡して表示するため、ログファイルなど継続してテキストファイルを表示させるために有効です。「tail -f 」に近いです。また、ファイルへの追加書き込みがないとファイルへアクセスしないため、I/Oのリソースを節約することができます。

オプション

+数値指定した数値の行数をファイルの先頭から表示する
-数値指定した数値の行数をファイルの末尾から表示する
-c バイト数
–bytes=バイト数
ファイル末尾の指定したバイト数だけ表示する
b(指定する数値の512倍)、k(1024倍)、m(1,048,576)を追加で指定が可能。
-f
–follow[={name|descripter}]
指定したファイルを監視し、ファイルに追記された内容を追跡して表示する
-F「–foloow=name –retry」と同じ動作をする
-n 行数
–lines=行数
表示する行数を指定する(デフォルトは10)
-q
–quit、–silent
複数ファイルの表示時にファイル名の表示は行わない
–pid=プロセスID
–retry
指定したプロセスIDが終了したらコマンドを終了する
-s 秒数
–sleep-interval=秒数
追跡しているファイルチェックを指定した秒ごとに行う(デフォルトは1秒)

末尾を10行表示する

ファイルの末尾の行から10行前まで表示する。

$ tail ファイル名

実行結果

[sunarin@localhost work]$ tail /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sunarin:x:1000:1000:sunarin:/home/sunarin:/bin/bash
[sunarin@localhost work]$ 

末尾の行を指定して表示する

ファイルのEndから15行前まで表示する。

$ tail -n 行数 ファイル名

実行結果

[sunarin@localhost work]$ tail -n 15 /etc/passwd
qemu:x:107:107:qemu user:/:/sbin/nologin
gluster:x:991:986:GlusterFS daemons:/run/gluster:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:990:984:User for geoclue:/var/lib/geoclue:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sunarin:x:1000:1000:sunarin:/home/sunarin:/bin/bash
[sunarin@localhost work]$ 

複数のファイルの末尾の行を表示する

複数のファイルの末尾の行を表示するには、空白で区切り複数ファイルを指定する。また、表示は「==> xxxxxxx <==」のように表記される。

$ tail ファイル名 ファイル名

実行結果

[sunarin@localhost work]$ tail -f /etc/passwd /etc/group
==> /etc/passwd <==
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sunarin:x:1000:1000:sunarin:/home/sunarin:/bin/bash

==> /etc/group <==
nfsnobody:x:65534:
gnome-initial-setup:x:983:
sshd:x:74:
slocate:x:21:
avahi:x:70:
postdrop:x:90:
postfix:x:89:
ntp:x:38:
tcpdump:x:72:
sunarin:x:1000:sunarin

ファイルの末尾を追跡する

ファイルの末尾を表示した後も終了せず、ファイルの末尾にデータが追加された場合表示し続けます。主にWebサーバーやアプリケーションサーバーログをリアルタイムに監視する場合に使用します。

$ tail -f ファイル名
$ tailf ファイル名

実行結果

[sunarin@localhost work]$ tail -f /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sunarin:x:1000:1000:sunarin:/home/sunarin:/bin/bash