![lsを使ってtail -fと同じことをするにはどうすればよいですか? [コピー]](https://linux33.com/image/25396/ls%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6tail%20-f%E3%81%A8%E5%90%8C%E3%81%98%E3%81%93%E3%81%A8%E3%82%92%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
重複の可能性:
コマンドに従うことは可能ですか(繰り返し実行)? 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