“less +F” は “tail -f” の上位互換機能として利用できる
はじめに
例えば、ログファイルから最新の情報を閲覧するための方法として tail
コマンドが利用できます。
tail -f
のようにオプションを指定することでログファイルを監視し、コンテンツが追加されたときに自動的にターミナル上に出力させることができます。
tail
コマンドを使わず、 less
コマンドでも同じような機能が提供されており、若干高機能です。
less
コマンドの意外と知られていない機能を紹介します。
検証環境
$ uname -moi
x86_64 x86_64 GNU/Linux
$ bash -version | head -n 1
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
$ less --version | head -n 2
less 458 (POSIX regular expressions)
Copyright (C) 1984-2012 Mark Nudelman
テキストファイルを less
コマンドで監視してみる
早速、適当なファイルを作成し、 less
コマンドで開いてみます。
開く際に -F
というオプションを付与しておきます。
# まずはファイルを作成
$ seq 1 10 > test.txt
# ファイルを監視します。
$ less +F test.txt
1
2
3
4
5
6
7
8
9
10
ここで別のターミナルを開き、ファイル末尾にコンテンツを追記します。
$ seq 20 30 >> test.txt
もともとのターミナルに以下の行が追加で出力されているはずです。
20
21
22
23
24
25
26
27
28
29
30
tail -f
と less +F
でなにか違いはあるの?
ほぼ一緒です。
less
コマンドの監視は、途中で中断しバッファ内を検索できます。
先程の less +F
コマンドを実行中のターミナルに戻り、 ctrl
+ c
キーを押してみましょう。
すると、通常の less
コマンドと同じ操作ができるようになります。
(上下に移動、 /
で検索、など)
ここで F
( shift
+ f
キー ) を押すと、再度 tail -f
と同じモードに戻ります。
less test.txt
コマンドで立ち上げた状態で shift
+ f
でモード切替できる
更にいうと、 shift
+ f
での tail
モード切替は、普通に less
を立ち上げた状態で利用可能です。
したがって、利用用途としては以下のような流れとなります。
less test.txt
でファイルを見ていた- ちょっと監視したくなった
shift
+f
で監視モードに切り替え- 監視結果を眺める
ひとこと
tail -f
をすると、大量にログが来た場合に流れていってしまいます。
less +F
で眺めておき、不具合調査時に問題となるログが見つかったタイミングで ctrl
+ c
で tail
モードを止めて調査に入るといった使い方が想定できます。
とはいえ、多分この機能忘れて tail -f
しているでしょう。
ディスカッション
コメント一覧
まだ、コメントがありません