重複の可能性:
tail -f?を使用してファイルをフォローするのと同じように、コマンドを実行する(繰り返し実行する)ことは可能ですか?
Bashの画面で、ディレクトリにダウンロードされているファイルをリアルタイムで監視したいと思います。
Linuxでtail -f
と同等のことを行う簡単な方法はありますか。
「監視」コマンドを使用します。
watch ls
これにより、「ls」コマンドが2秒ごとに実行されます。
watch
をお持ちの場合は、間違いなく最良の答えです。ただし、完全を期すために、単純なシェルスクリプトを使用して大まかに似たものをシミュレートできます。
while (true)
do
date
ls -lrt | tail -n 10
sleep 2
clear
done
別の方法は、diff
を使用することです。これは、以前存在していたファイルが削除されたかどうかも指摘します。利点はターミナルをクリアしないので、上にスクロールすることですべての変更の完全な記録を見ることができます。欠点は、状態変更の推論を管理するために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
inotifywait
をチェックしてください。
たとえば、フォルダabc
を監視するには、次のようにします。
while inotifywait -e close_write abc; do
# do `ls` when abc changed
ls abc
done