GNU/Linux >> Linux の 問題 >  >> Linux

ファイルの変更を監視するシェル コマンド

解決策 1:

ってことですか

tail -f logfile.log

?

(テールの man ページ)

解決策 2:

Jon Skeet の回答によると、おそらく尻尾を意味していました。

もう 1 つの便利な機能は watch です。コマンドを定期的に実行して、出力をフルスクリーンで表示できます。例:

watch -n 10 -d ls -l /var/adm/messages

コマンド ls -l /var/adm/messages を実行します 10 秒ごとに実行し、後続の実行間の出力の違いを強調表示します。 (たとえば、ログファイルがどれだけ急速に成長しているかを監視するのに役立ちます)。

解決策 3:

inotifywait from inotify-tools は、ファイル (またはディレクトリ内の任意のファイル) が変更されるたびにコマンドを実行する場合に便利です。例:

inotifywait -r -m -e modify /var/log | 
   while read path _ file; do 
       echo $path$file modified
   done

解決策 4:

less +FG を使用することを好みます tail -f 以上 ログ ファイルで特定のエラーまたは ID を検索する必要があるためです。何かを検索する必要がある場合は、^C と入力します ファイルと ? のフォローをやめる 後方検索を開始します。

キーバインドは vi とほとんど同じです . + を使用して、起動時に任意のコマンドを初期化できます オプション:

+cmd   Causes  the  specified  cmd  to be executed each time a new file is
       examined.  For example, +G causes less to  initially  display  each
       file starting at the end rather than the beginning.

非常に長いログの場合、 -n を使用すると便利です 行番号付けをオフにするオプション。マンページから:

-n or --line-numbers
          Suppresses line numbers.  The default (to use line numbers)  may
          cause  less  to run more slowly in some cases, especially with a
          very large input file.  Suppressing line  numbers  with  the  -n
          option  will  avoid this problem.  Using line numbers means: the
          line number will be displayed in the verbose prompt and in the =
          command,  and the v command will pass the current line number to
          the editor (see also  the  discussion  of  LESSEDIT  in  PROMPTS
          below).

<サブ>1.コメントでこれを指摘してくれた rgmarcha に敬意を表します。

解決策 5:

Tail は素晴らしいです... less も使用できます ファイルで less を開始します。つまり、less myfile を押して Shift を押します +F .これは尻尾の役割を果たしません。


Linux
  1. Mvコマンドを使用すると、Hddでどのような変更が行われますか?

  2. コマンドシェルでファイルをX回複製しますか?

  3. ファイルが変更されるたびにコマンドを実行する方法は?

  1. Linuxテールコマンド

  2. Linuxwcコマンド

  3. Linuxlessコマンド

  1. Linuxタッチコマンド

  2. LinuxでのCatコマンド

  3. Linuxファイルコマンド