「tail -f」と「tail -F」の違いは何ですか?

「tail -f」と「tail -F」の違いは何ですか?

私はtail -Fコマンドを使用したことがなく、常にコマンドを使用しましたが、特に説明なしにこれがより良いと言われtail -fました。-F

tailコマンドのマニュアルページを見つけました。

-f output appended data as the file grows;

-F Same as --follow=name --retry

--retry Keep trying to open a file even when it is or becomes inaccessible

小文字の機能を理解するのは簡単ですが、大文字の機能を-f理解できません。-F誰かが私にこれらの違いを説明してくれてありがとう。

ベストアンサー1

GNUユーティリティについて説明しましたtail。これら2つのフラグの違いは、次のようにファイル(ログファイルなど)を開くと次のようになります。

$ tail -f /var/log/messages

...マイコンピュータのログ回転機能がメッセージが記録されている間にそのログファイルを回転させることを決定した場合(「回転」は削除または別の場所に移動するなど)、私が表示する出力は停止します。

tail次のようにファイルを開くと:

$ tail -F /var/log/messages

tail...もう一度言っても、ファイルが再び利用可能になると(つまり、ログを作成するプログラムが書き込みを開始すると)、ファイルが回転し、出力がコンソールから流れ続けます。新しい /var/log/messages

-F無料のBSDシステムにはオプションはありませんが、メッセージが表示されることを除いて、tail -f動作はGNUシステムの動作と似ています。tail -F

tail: file has been replaced, reopening.

監視中のファイルが消えて再び表示されると、出力に表示されます。


あなたはそれをテストすることができます

シェルセッションで以下を実行します。

$ cat >myfile

今あなたの入力を待ちます。数行の横説説を入力し続けます。それはすべてファイルに保存されますmyfile

存在するその他シェルセッション(おそらく他の端末では、中断なしcat):

$ tail -f myfile

myfileこれにより、コンソールにコンテンツが(終了)表示されます。最初のシェルセッションに戻り、moreと入力すると、tail2番目のシェルセッションに出力がすぐに表示されます。

今すぐcat終了を押しCtrl+Dてから削除する文書myfile:

$ rm myfile

その後、catを再実行してください。

$ cat >myfile

...そして数行を入力してみてください。

GNUを使用すると、次の行は次のようtailになります。いいえ2番目のシェルセッションに表示されます(tail -fまだ実行中)。

運動を繰り返し、tail -F違いを観察してください。

おすすめ記事