重複の可能性:
コマンドに従うことは可能ですか(繰り返し実行)? tail -fを使ってファイルを追跡するのと同じですか?
bash画面でディレクトリにダウンロードされたファイルをリアルタイムで監視したいと思います。
tail -f
Linuxでディレクトリ(おそらくlsを使って)と同じことをする簡単な方法はありますか?
答え1
"watch"コマンドを使用してください。
watch ls
これにより、2秒ごとにlsコマンドが実行されます。
答え2
watch
あなたがそれを得るならば、これは確かに最善の答えです。ただし、完璧にするために、いくつかの簡単なシェルスクリプトを使用して、ほぼ同様のものをシミュレートできます。
while (true)
do
date
ls -lrt | tail -n 10
sleep 2
clear
done
別のアプローチはを使用することですdiff
。これは、かつて存在していたファイルが削除されたかどうかを示します。 1つの利点は、端末を消去しないため、上にスクロールすると、すべての変更の完全な履歴を見ることができることです。欠点は、状態変更推論を管理するために2つの一時ファイルを生成することです。
ls1="/tmp/listing1.dat"
ls2="/tmp/listing2.dat"
ls -lrt > ${ls1}
ls -lrt > ${ls2}
while (true)
do
diff ${ls1} ${ls2} | grep '[<>]'
sleep 2
cp ${ls2} ${ls1}
ls -lrt > ${ls2}
done
答え3
確認するinotifywait
、
たとえば、フォルダを監視するには、abc
次のようにします。
while inotifywait -e close_write abc; do
# do `ls` when abc changed
ls abc
done