tail コマンドは、テキストファイルの末尾部分を表示するためのコマンドです。
実務では、ログファイルの最新の記録を確認する際によく利用されます。
構文(Syntax)
tail [オプション] [FILE...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | ファイル末尾10行を表示 | tail /var/log/syslog |
-n NUM | 指定した行数を末尾から表示 | tail -n 50 /var/log/syslog |
-f | ファイル末尾を継続的に監視(追記を表示) | tail -f /var/log/syslog |
-F | -f と同じだがファイルローテーションにも対応 | tail -F /var/log/syslog |
-c NUM | 末尾から指定したバイト数を表示 | tail -c 100 syslog.txt |
--pid=PID | 指定したプロセスが終了したら自動的に終了 | tail -f --pid=1234 /var/log/syslog |
-q | 複数ファイルを表示する際にヘッダーを表示しない | tail -q file1 file2 |
実行例
ファイルの末尾10行を表示
tail /var/log/syslog
出力例(例示):
Aug 21 09:00 server systemd[1]: Started Session 42 of user alice.
Aug 21 09:01 server sshd[1234]: Accepted password for bob from 192.168.1.20 port 54321 ssh2
...
ファイル末尾50行を表示
tail -n 50 /var/log/syslog
ログをリアルタイム監視
tail -f /var/log/syslog
(新しいログが追加されるたびに出力され続ける)
ログを監視しつつ、プロセス終了で停止
tail -f --pid=1234 /var/log/syslog
(PID 1234 のプロセス終了時に tail も終了する)
複数ファイルの末尾を表示
tail -n 5 file1.txt file2.txt
出力例:
==> file1.txt <==
(末尾5行)
==> file2.txt <==
(末尾5行)
エラー例(存在しないファイル)
tail missing.txt
出力例:
tail: cannot open 'missing.txt' for reading: No such file or directory
関連コマンド
head: ファイルの先頭を表示less: ファイルをページ単位で閲覧cat: ファイルの内容をすべて表示grep: 特定の文字列を検索
備考
-fはログ監視に非常に便利で、grepと組み合わせて使われることが多い(例:tail -f syslog | grep ERROR)。-Fはログローテーション環境で特に有効。- 一般ユーザーでも利用可能だが、システムログなどは閲覧権限が必要。
参考
- manページ: man7.org tail(1)
- GNU Coreutils: https://www.gnu.org/software/coreutils/

コメント