tail コマンド
目次
概要
tail - ファイルの末尾数行を表示するコマンドライン
tail [OPTION]... [FILE]...
対象バージョン
- RHEL 10 : GNU tail 9.5
- Ubuntu 24.04 : GNU tail 9.4
説明
ファイル末尾の数行を表示します。-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)とします。
関連項目
Copyright (C) 2025 杜甫々
初版:2025年8月3日 最終更新:2025年8月3日
https://www.tohoho-web.com/linux/cmd/tail.html