こんにちは、インフラエンジニアのryuです。
今回はLinuxでログを監視するコマンドtailとlessについて解説します。どちらのコマンドもファイルを閲覧するために使用します。オプションを付けると、ログ監視するのに役に立つコマンドになります。ログ監視はインフラエンジニアに必須のスキルです。初心者の方はぜひ覚えましょう。
目次
Linuxでログ監視するコマンド【tailとless】
どうやってログの監視をすればいいの?
Linuxでログを監視するために使用するコマンドは以下の2つです。
- tail
- less
どちらのコマンドも、実行すると↓のようになります。ログが随時表示されます。
今回は、“tail”と”less”の2つのコマンドについて解説します。
tailコマンドでログを監視
まず、tailコマンドについて解説します。
tailコマンドとは、ファイルの末尾を表示するコマンドです。tailは”尾”という意味があるので、何となく理解できると思います。
tailコマンドの使い方
tailコマンドは以下のように使用します。
tail [ファイルのパス]
tail /var/log/syslog #/var/log/syslogファイルの末尾を表示
/var/log/syslogはログが書き込まれるファイルです。絶対パスで指定しています。絶対パスについては、こちらの記事を参考にしてください。
【ITパスポート講座⑪】絶対パスと相対パスとは?ファイルパスを理解する!
ただ、tailコマンドだけでは、ファイルの末尾の数行だけ表示されて終わりです。
ログは随時ファイルに書き込まれます。ログの監視するためには、常にファイルの末尾を表示させる必要があります。
ログを監視する場合は”-f”のオプション
tailコマンドでログの監視をする場合は”-f”のオプションを付けます。
“-f”とはfollowの略で、ファイルの末尾を追記していきます。
使い方は以下の通りです。
tail -f [ファイルのパス]
tail -f /var/log/syslog #/var/log/syslogファイルの末尾を追記
コマンドを実行すると、以下のように動作します。
tailコマンドを実行すると、ログの監視ができるようになります。何か作業をすると、この画面にログが追加されていきます。
ファイル名が変わる場合には”-F”
参考までに、ファイル名が変わる場合は、”-F”を使用しましょう。
具体的には、ログローテートを使用している場合は”-F”を付けます。
例えば、syslog.logというファイルが日付が変わるとsyslog20200628.logという名前のファイルにバックアップされる場面を想像してください。
syslog.logには最新のログが記録されていきます。しかし”tail -f”コマンドを使用すると、syslog20200628.logファイルを見てしまいます。
“-F”のオプションを使用することで、ローテート後も元のファイルをそのまま参照し続けることができます。
lessコマンドでログ監視
次に”less”コマンドについて解説します。
lessコマンドはファイルの内容を表示するコマンドです。
lessコマンドは”tail -f”の機能 + 検索の機能を合わせて使える便利なコマンドです。ログの調査を行うときに良く使います。
lessコマンドの使い方
lessコマンドは以下のように使用します。
less [ファイルのパス]
less /var/log/syslog
コマンドを実行すると、このように/var/log/syslogのファイルの中身が表示されます。
これだけでは、ファイルの中身が表示されただけです。この状態からコマンドを入力していきます。
“F”で監視モードへ
lessコマンドでファイルを表示している状態からF(Shift + f)を入力すると、監視モードへ移行します。つまり、”tail -f”と同じ状態になります。
画面下のメッセージに”Waiting for data…(interrupt to abort)と表示されたらモードが切り替わっています。
“ctrl + c”で前の状態に戻ります。これで監視する状態から元に戻ります。
Linuxでログ監視するコマンドまとめ
今回は2つのコマンド”tail”と”less”コマンドを紹介しました。おさらいのため、もう一度記載します。
- tail -f [ファイル名]
- less [ファイル名]とF
ログ監視はLinuxの基本です。ログの監視する際は、ぜひ使ってみてください!
当ブログでは、このようなビジネスやITに関する記事を発信しているので興味のある方は引き続きご覧ください。