
tail -f
ファイル全体を表示するのと同じように、ファイル全体を読み、入力を待つようにしたいと思います。
このファイルはファイルなので、長さは常に変更されます.log
。
ファイルの長さがわからない場合はどうすればよいですか?
答え1
これを達成するより良い方法があります。
less +F <file>
フル機能のフルファイルが表示され、less
新しい入力を待ちます。入力待機を停止して特定のセクションを読み取るには、停止^C
と継続を使用できますF
。
このF
コマンドは常に使用できますless
。でファイルを開くと、変更を観察するためにクリックしてless
開きF
ます。ありがとうヒルゲルトディステフそしてワイルドカードこれを指摘してください。
答え2
tail
最後に表示する行数を指定するために追加することができ-n
ます-f
。引数-n
がで始まると、+
最初から行数を示します(0
そして@Benが提案したように最初の行をスキップしたことを示す1
ファイル全体を表示します)。2
だからこうしてください:
tail -f -n +0 filename
ログファイルが回転している場合は、追加(または--retry
@Hagenの提案に従って-f and --retry
マージ-F
)できます。
また、グラフィックターミナルでは、マウスとPageUp/ PageDown(バッファが十分に大きいと仮定)を使用して履歴にスクロールすることができ、この情報はCtrl+で終了してCもそのまま残りますtail
。これを使用するとそれほど便利ではなく、less
私が知っている限りスクロールするにはキーボードを使用する必要があります。less
-X
答え3
watch
コマンドはこれを行う必要があります。
また試すことができます
less +FG
less
ファイルが大きなファイルであると言ったので、ファイルをスクロールするコマンドにはより多くのオプションがあります。
答え4
/u/Anthonの回答に加えて、次のこともできます。
{ cat filename; tail -0f filename; }
tailオプションは-0
と同じです-n 0
。つまり、0行を表示します。ただし、-f
新しい行が表示されます。
校正器は必要ありません{ }
。時々、何らかの方法でファイル記述子をリダイレクトしたいので、これを使用します。たとえば、
{ cat ; tail -0f -; } < /var/log/messages
cat
Ben Milwoodは次のように指摘しています。ジョブの終了とジョブの開始の間にファイルが大きくなる競合状態が発生する可能性がありますtail
。しかし、これは学問的解決が必要な「学術的」問題でもある。