ディレクトリの内容をリアルタイムで表示する組み込みの Linux コマンドはありますか?

ディレクトリの内容をリアルタイムで表示する組み込みの Linux コマンドはありますか?

ディレクトリの内容をリアルタイムで表示する組み込みの Linux コマンドはありますか?ファイルの内容をリアルタイムで表示する「tail -f file_name」コマンドに似ています。

答え1

これは を使用して実行できますwatch。完全にリアルタイムではありませんが、十分に近い値です (最大 10 分の 1 秒)。

watch -n0.1 ls

マニュアルより:

-n, --interval seconds
          Specify update interval.  The command will not allow quicker than 0.1 second interval, in which the smaller values are converted.

答え2

私はこれを書きました。これがあなたが必要としているものであることを願っています。これは ではありませんbuilt-in Linux commandが、ほとんどの UNIX ボックスに存在する一般的なプログラムのみを使用します。

必要に応じて時間を調整しますsleep。少なくとも 2 秒の値を使用します。cmd="ls"非再帰構造またはcmd="find DIRNAME"再帰的に検索する場合に使用します。最後のケースでは、すべてのファイルとディレクトリにプレフィックスが付けられることに注意してくださいDIRNAME/

 echo "" | awk '{while ( 1 ) {cmd="find ."; delete b;c=0; while ( ( cmd | getline result ) > 0 ) {test=1;c++;n=0;for (i in a) {n++;if (a[i]==result) {b[c]=i; test=0; break;}} if (test) {n++;a[n]=result;b[c]=n;print "##NEW## "result }} close (cmd); for (i in a) {test=1;for (j in b) {if (b[j]==i) {test=0;break}} if (test) {print "##DELETED## "a[i]; delete a[i]}} system("sleep 5") } }'

答え3

知ってしまえばとても簡単です。

watch -d dir_name

答え4

inotifytoolsおよびそのコマンドライン ユーティリティを使用できます。

ディレクトリを監視するために使用することができinotify、ディレクトリ自体とディレクトリ内のファイルのイベントを返します。

使用できる別のツールはinotifywatch:

sudo inotifywatch -v -r /foo

すべてのサブディレクトリを再帰的に監視するには、 for を追加できます-r。ただし、この解決策では新しく作成されたファイルの変更を検出しません

したがって、別の解決策としては以下を使用することですinotifywait

inotifywait -m --format "%f" /foo

test*以下は、 で新しく作成されたすべてのファイルの内容を表示する別の例です/tmp

inotifywait -m --format "%f" /tmp | grep --line-buffered ^test | xargs -L1 -I% sudo cat /tmp/% 2> /dev/null

関連情報