Linuxを使っていると、ログファイルの確認や動作検証などで「ファイルの末尾だけを見たい」という場面がよくあります。そんなときに役立つのが「tail
コマンド」です。tail
は、ファイルの最後の数行を簡単に表示できる便利なツールで、特にログ監視などの場面では欠かせません。本記事では、tail
コマンドの基本的な使い方から、オプションを活用した応用例、リアルタイム表示など実用的な活用法までを、初心者にもわかりやすく解説していきます。
tailコマンドとは?
tail
は、テキストファイルの末尾部分を表示するためのLinuxコマンドです。標準では、最後の10行を表示します。ログファイルや出力ファイルの変化を確認する際にとても便利です。
tail ファイル名
例えば、system.log
ファイルの末尾を確認したい場合は、以下のように使います。
tail system.log
これで、最後の10行が表示されます。ログファイルの最後の数行をチェックするだけでも、トラブルシューティングに役立つことがよくあります。
-nオプションで表示行数を変更する
デフォルトでは10行だけ表示されるtail
ですが、-n
オプションを使うことで、表示する行数を自由に変更できます。
例:最後の20行を表示
tail -n 20 system.log
例:最後の1行だけ表示
tail -n 1 system.log
このように、ファイルの末尾から任意の行数を指定して表示することで、必要な情報だけを効率よく確認することができます。
-fオプションでリアルタイム監視
tail
の中でも特に便利なのが-f
オプションです。このオプションを使うと、ファイルに新しい行が追加されるたびに自動で表示されるようになります。ログファイルの監視に最適です。
tail -f /var/log/syslog
このコマンドを実行しておくと、syslog
ファイルに新しいログが書き込まれるたびに、リアルタイムで画面に表示されます。Webサーバーやアプリケーションのログ監視には必須の使い方です。
複数ファイルを同時にtailする
複数のファイルを同時に確認したいときにも、tail
は対応しています。
tail -n 5 file1.log file2.log
このようにすれば、file1.log
とfile2.log
の末尾5行を同時に表示できます。ログを比較しながら確認したい場合に便利です。
tailとパイプを組み合わせた活用術
tail
は他のコマンドと組み合わせることで、さらに活用の幅が広がります。たとえば、grep
と組み合わせることで、ファイルの末尾に含まれる特定のキーワードを抽出できます。
例:errorを含む行だけを表示
tail -n 100 system.log | grep error
このコマンドは、system.log
の最後の100行の中から「error」という単語を含む行だけを表示します。エラーログの抽出に最適です。
-Fオプションと-fの違い
tail
には-F
オプションもあります。一見すると-f
と似ていますが、実は違いがあります。
-f
:ファイルの変更を追いかけるが、ファイルが切り替わると追跡を終了する-F
:ファイルが切り替わった場合も追跡を続ける(ログローテーション対応)
ログローテーション(ファイルが一度消され、新しいファイルに置き換わる)を考慮するなら、-F
オプションを使うほうが安全です。
tail -F /var/log/syslog
行ではなくバイト数で表示:-cオプション
行ではなく、最後の何バイトを表示したい場合は、-c
オプションを使います。
例:最後の100バイトを表示
tail -c 100 sample.txt
バイナリファイルや特殊なフォーマットのファイルを確認する際に有効です。
headとの違いと使い分け
tail
と対をなすコマンドにhead
があります。head
はファイルの先頭部分を表示するコマンドです。
head
:先頭を確認したいときtail
:末尾を確認したいとき
ログファイルなどでは、通常tail
がより多く使われますが、両者を適切に使い分けることで、ファイル全体の状況を把握しやすくなります。
tailの活用例まとめ
実際にtail
を使った作業例をいくつか挙げてみます。
例1:Webサーバーのアクセスログを監視
tail -f /var/log/httpd/access_log
例2:特定のエラーログを追いかける
tail -F /var/log/app/error.log | grep -i fatal
例3:複数ログの最新情報を同時表示
tail -f log1.txt log2.txt
tailコマンドを使いこなすためのポイント
最後に、tail
コマンドを効果的に使うためのポイントをまとめておきます。
- リアルタイム監視には
-f
や-F
が便利 - 表示行数を柔軟に変更できる
-n
オプションを活用 - パイプで他のコマンドと組み合わせて抽出や整形
- ログローテーション対応には
-F
- バイト単位での表示も可能(
-c
)
これらを覚えておけば、ログ監視やファイル確認作業がぐっと効率化されます。
まとめ
tail
コマンドは、Linux環境で作業するうえで非常に役立つ基本コマンドです。シンプルながらも多機能で、ログ確認やファイルの変化を追いかける場面では欠かせません。オプションを組み合わせることで、より柔軟に対応できるようになります。tail
をうまく使いこなして、日々の作業をもっとスマートに進めましょう。