tail コマンド

目次

概要

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

コマンドライン

tail [OPTION]... [FILE]...

対象バージョン

説明

ファイル末尾の数行を表示します。-NUM を指定すると末尾の N 行、省略すると10行表示します。

$ tail -3 /var/log/httpd/access.log
10.12.3.4 - - [28/Jul/2025:14:24:09 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:16 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:27 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
$

ファイルを複数指定するとそれぞれのファイルの末尾の数行を表示します。この場合 -3-n 3 と指定する必要があります。

$ tail -n 3 /var/log/httpd/access*.log
==> /var/log/httpd/access_log <==
10.12.3.4 - - [28/Jul/2025:14:24:09 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:16 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:27 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"

==> /var/log/httpd/access_20250727_log <==
10.12.3.4 - - [27/Jul/2025:23:32:12 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [27/Jul/2025:23:34:32 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [27/Jul/2025:23:36:18 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"

-f オプションを指定すると、末尾の数行を表示した後監視モードにはいり、ファイルに追記があればそれを表示します。

$ tail -f /var/log/httpd/access.log
10.12.3.4 - - [28/Jul/2025:14:24:09 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:16 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:27 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
# 追記されるのを監視しながら待機する
10.12.3.4 - - [28/Jul/2025:14:32:12 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"

-F オプションを指定すると監視対象のファイルがローテートされて移動や名前変更されても、引数で指定したファイル名のファイルをひき続き監視することができます。

$ tail -F /var/log/httpd/access_log
10.12.3.4 - - [28/Jul/2025:14:24:09 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:16 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
10.12.3.4 - - [28/Jul/2025:14:24:27 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"
tail: '/var/log/httpd/access_log' has become inaccessible: No such file or directory
tail: '/var/log/httpd/access_log' has appeared;  following new file
10.12.3.4 - - [28/Jul/2025:14:35:23 +0000] "GET / HTTP/1.1" 403 5760 "-" "curl/7.76.1"

オプション

表示範囲

-NUM
--lines=NUM と同等です。対象が複数ファイルの場合は使用できません。
-n, --lines=[+]NUM
各ファイルの末尾の NUM 行(デフォルトでは10行)を表示します。+NUM と指定した場合は、先頭の NUM - 1 行を読み飛ばして表示します。
-c, --bytes=[+]NUM
各ファイルの末尾の NUM バイトを表示します。+NUM と指定した場合は、先頭の NUM - 1 バイトを読み飛ばして表示します。

監視モード

-f
ファイルの末尾を表示した後、待機モードに入り、ファイルに追記があればそれを表示します。--follow=descriptor と同等です。
-F
ファイルの末尾を表示した後、待機モードに入り、ファイルに追記があればそれを表示します。--follow=name --retry と同等です。
--follow[=MODE]
ファイルの末尾を表示した後、待機モードに入り、ファイルに追記があればそれを表示します。MODE には下記のいずれかを指定します。
  • descriptor : ファイルを開いた際のファイルディスクリプタを監視します。ファイルが移動やファイル名変更された場合でも開いていたファイルを監視します。MODE を省略した場合のデフォルト動作です。
  • name : 引数で指定したファイル名のファイルを監視します。ファイルが移動やファイル名変更された場合、同じファイル名のファイルが存在すればそれを再度開きます。存在しなければエラー終了しますが、--retry が指定されている場合はリトライします。
--retry
監視モードの際、ファイルにアクセスできなかった場合、再度アクセスを試みます。
-s, --sleep-interval=N
監視モードの監視インターバルを秒数で指定します。デフォルトは 1.0秒です。小数も指定できます。--pid オプションを指定した場合はプロセス監視のインターバルもこの値に従います。
--pid=PID
監視モードの際、PID で指定したプロセスがダウンした際に監視を終了します。GNU tail 9.5 以降では --pid オプションを複数指定することができ、すべてのプロセスがダウンした際に監視を終了します。
--max-unchanged-stats=N
--follow=name オプション使用時、ファイルサイズが N 回(デフォルト5回)連続して変更されなかった場合にファイルを再オープンします。ログファイルのローテートで古いファイルを監視し続けてしまう場合に有効です。

ヘッダ表示

-q, --quiet, --silent
対象ファイルが複数でも単数でも、ヘッダにファイル名を表示しません。
-v, --verbose
対象ファイルが複数でも単数でも、ヘッダにファイル名を表示します。

ヘルプ表示

--help
ヘルプを表示して終了します。
--version
バージョン情報を表示して終了します。

その他

-z, --zero-terminated
行のデリミタを改行コード(LF)ではなく、ヌル文字(NUL)とします。