カテゴリ: Linux 更新日: 2026/03/13

tail -fコマンドの使い方を完全ガイド!Linuxでログをリアルタイム監視する基本

Linuxのtail -fでログをリアルタイム監視する方法
Linuxのtail -fでログをリアルタイム監視する方法

先生と生徒の会話形式で理解しよう

生徒

「システムが動いている様子を、ずっと見守っておきたいときはどうすればいいですか?」

先生

「それなら、tailコマンドに-fというオプションをつけて使うのが一番ですよ。」

生徒

「文字がどんどん流れてくるやつですね!難しそうですが、私にもできますか?」

先生

「もちろんです。仕組みさえわかれば、エラーを見つけたり動きを確認したりするのにとても便利ですよ。ゆっくり解説しますね。」

1. tailコマンドとは?

1. tailコマンドとは?
1. tailコマンドとは?

tail(テイル)は、英語で「しっぽ」や「最後尾」という意味です。その名前の通り、ファイルの一番最後の方だけを表示するためのコマンドです。通常、長いテキストファイルの中身を全部表示すると画面が埋まってしまいますが、このコマンドを使えば最新の数行だけをサッと確認できます。

例えば、日記帳の最後の一行だけをパッと見るようなイメージです。Linuxの世界では、システムが記録している「ログ」と呼ばれる日記のようなデータが常に更新されています。その最新情報だけを追いかけるのに、このtailコマンドは欠かせない存在なのです。

2. tail -fで「リアルタイム監視」ができる仕組み

2. tail -fで「リアルタイム監視」ができる仕組み
2. tail -fで「リアルタイム監視」ができる仕組み

tailコマンドに-fという特別な「オプション」をつけると、表示が止まらずに、新しい内容が書き込まれるたびに画面へ表示してくれるようになります。この「f」は「follow(フォロー)」、つまり「追いかける」という意味の頭文字です。

パソコンの操作に慣れていない方にとって、画面が自動で動くのは少し驚くかもしれませんが、これは「監視カメラの映像をずっと見ている」ような状態だと考えてください。ファイルに変化が起きると、すぐにあなたの画面にその変化が映し出されます。これが、エンジニアがよく言う「リアルタイム監視」の正体です。

3. 基本的な使い方:ファイルの末尾を表示する

3. 基本的な使い方:ファイルの末尾を表示する
3. 基本的な使い方:ファイルの末尾を表示する

まずは、オプションをつけない基本的な使い方を見てみましょう。特に指定をしない場合、tailコマンドはファイルの最後の10行を表示して終了します。一度表示したら、命令は終わりです。

以下の例では、log.txtという名前のファイルの中身を確認しています。


tail log.txt
2026/01/01 10:00:00 [INFO] Start system
2026/01/01 10:01:00 [INFO] User login
2026/01/01 10:05:00 [INFO] File uploaded
...(中略)...
2026/01/01 10:50:00 [INFO] System health check OK

このように、ファイルの最後の方だけが表示されます。古い情報は無視して、直近の状況だけを知りたいときに使います。

4. オプション「-f」で動きを追いかける

4. オプション「-f」で動きを追いかける
4. オプション「-f」で動きを追いかける

いよいよ本題のリアルタイム監視です。コマンドの後ろに-fを付け足すだけで、画面が「待機状態」になり、ファイルが更新されるのを待ち構えるようになります。


tail -f access.log
2026/01/09 13:00:01 [VISIT] /index.html
2026/01/09 13:00:05 [VISIT] /contact.html
(ここで新しいアクセスがあると、自動で次の行が表示されます)
2026/01/09 13:00:10 [VISIT] /about.html

画面が止まったように見えますが、それは新しい情報がまだ来ていないだけです。何か動きがあれば、即座に新しい行が追加されます。この状態を終了したいときは、キーボードの「Ctrl(コントロール)」キーを押しながら「c」を押してください。これで元の画面に戻ることができます。

5. 表示する行数を自由に変える「-n」オプション

5. 表示する行数を自由に変える「-n」オプション
5. 表示する行数を自由に変える「-n」オプション

デフォルトでは10行表示されますが、「もっとたくさん遡って見たい」あるいは「最後の一行だけでいい」という場合もあります。そんなときは、-nオプションを使います。-nの後に数字を入れることで、表示する行数を指定できます。

例えば、最新の3行だけを見たいときは以下のように入力します。


tail -n 3 server.log
2026/01/09 14:00:00 Update check
2026/01/09 14:10:00 Backup started
2026/01/09 14:20:00 Backup finished

もちろん、これと-fを組み合わせて、tail -n 5 -f server.logのように書くことも可能です。こうすると「直近の5行を表示したあと、そのまま監視を続ける」という命令になります。

6. 管理者権限が必要なログファイル(rootユーザー)

6. 管理者権限が必要なログファイル(rootユーザー)
6. 管理者権限が必要なログファイル(rootユーザー)

Linuxでは、とても重要なログファイルは「管理者(ルートユーザー)」しか見ることができないよう保護されていることがあります。例えば、システム全体の動きを記録する「messages」や「syslog」といったファイルです。

こうしたファイルを見るときは、sudoというコマンドを先頭につけて実行するか、あらかじめ管理者としてログインしておく必要があります。管理者の場合は、コマンドの先頭のマークが#に変わります。


tail -f /var/log/messages
Jan  9 13:50:01 localhost systemd: Starting Session
Jan  9 13:55:22 localhost kernel: eth0: link up
Jan  9 14:00:45 localhost crond: job finished

「許可がありません(Permission denied)」というエラーが出た場合は、管理者の力が必要な場所だと思い出してください。

7. 複数のファイルを同時に監視する方法

7. 複数のファイルを同時に監視する方法
7. 複数のファイルを同時に監視する方法

実は、tail -fは複数のファイルを並べて監視することもできます。例えば「ウェブサイトのアクセス記録」と「エラーの記録」を同時に見たい場合に便利です。ファイル名をスペースで区切って並べるだけです。


tail -f access.log error.log
==> access.log <==
192.168.1.1 - GET / HTTP/1.1

==> error.log <==
[error] client denied by server configuration

このように、どっちのファイルに動きがあったかを表示しながら教えてくれます。複数の窓を開かなくていいので、作業がとてもスムーズになります。初心者の方はまずは一つのファイルから慣れていくのがおすすめですが、慣れてきたらぜひ試してみてください。

8. headコマンドとの違いを知ろう

8. headコマンドとの違いを知ろう
8. headコマンドとの違いを知ろう

tail(しっぽ)の反対に、head(頭)というコマンドもあります。これはファイルの最初の方だけを表示するコマンドです。設定ファイルの内容を確認するときなどによく使われます。

headには「監視を続ける(-f)」という機能はありません。なぜなら、ファイルの最初(過去)の内容は、時間が経っても変わることがないからです。対してtailは、ファイルの最後(未来)にどんどん情報が付け足されていくため、監視するという役割が非常に重要なのです。

「今この瞬間に何が起きているか」を知りたいときは、迷わずtail -fを選びましょう。これが使いこなせれば、あなたも立派なLinuxユーザーへの第一歩を踏み出したことになります。

カテゴリの一覧へ
新着記事
New1
RDS(データベース)
AWS RDSでSSL接続を有効化してセキュアに通信する方法を初心者向けに解説!
New2
RDS(データベース)
AWS RDSの料金体系とコスト管理ポイントを初心者向け解説!
New3
RDS(データベース)
AWS RDSのスナップショットを手動で作成・復元する方法を初心者向けにやさしく解説!
New4
Global Accelerator
AWS Global AcceleratorでALB/NLBをエンドポイントに設定する方法を初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ構造
Linuxの/homeディレクトリとは?役割と構造を初心者向けに徹底解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ構造
/varディレクトリの役割とは?Linuxの「変化するデータ」の置き場所を初心者向けに徹底解説!
No.4
Java&Spring記事人気No4
AWS Shield
AWS Shieldの課金体系とコスト対策を徹底解説!初心者でもわかるDDoS対策の料金構造
No.5
Java&Spring記事人気No5
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.6
Java&Spring記事人気No6
RDS(データベース)
AWS RDSのメンテナンスウィンドウの設定方法を解説!初心者でもできるクラウドデータベースの管理
No.7
Java&Spring記事人気No7
テキスト処理・検索コマンド
headコマンドの使い方を完全ガイド!初心者でもわかるLinuxでファイルの先頭を表示する基本
No.8
Java&Spring記事人気No8
シェルとターミナル基礎
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本