web-dev-qa-db-ja.com

Bashスクリプトのログファイルが継続的に画面に表示される

ログファイルに書き込むアプリケーションを作成していますが、Linux/Bashでログファイルを継続的に画面に表示する方法を知っておく必要があります(ログに新しい行が追加されるたびに画面が更新されます)。

そのため、例として、Apache/error.logの実行ログを継続的に更新する画面(ssh端末)にプッシュしたいとします。

70
Aaron Murray

Tailコマンドを試してください:

tail -f filename
99
Hai Vu

別の解決策は

 less +F filename

あるいは単に less filenameとそれに「F」を入力します(押す shift+f)。 tailよりも優れている可能性があります。これは、連続印刷を一時的にキャンセルし、後方に移動して何かを確認し、「F」で再度有効にすることができるためです(shift+f)再び

25
osgx

Watchコマンドも使用できます。

watch tail logfile

ログファイルの最後の5行を表示します。内容を標準出力に出力する任意のコマンドに拡張できます。

はい、tail -fを使用するのが従来のソリューションですが、何をしようとしているのかによっては、これがうまくいくかもしれません。

10
Seth Robertson

あなたもすることができます:

less filename.txt
and press 'F'

1つのプラスがあります-いつでもCTRL-Cを押してログをスクロールバックし、「F」でもう一度見ることができます.

6
jm666

ssh {remotehost} tail -n0f {logfile}

これにより、最初はゼロ行が表示され、ファイルに表示される新しい行が継続的に印刷されます。

5
bukzor