小智 67
使用“监视”命令:
watch ls
Run Code Online (Sandbox Code Playgroud)
这将每 2 秒运行一次“ls”命令。
watch如果你有的话,绝对是最好的答案。但为了完整起见,您可以使用一些简单的 shell 脚本来模拟粗略相似的内容:
while (true)
do
date
ls -lrt | tail -n 10
sleep 2
clear
done
Run Code Online (Sandbox Code Playgroud)
另一种方法可能是使用diff. 这还将指出是否删除了曾经存在的文件。一个优点是它不会清除终端,因此您可以通过向上滚动来查看所有更改的完整记录。一个缺点是它创建了两个临时文件来管理状态变化推理。
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
Run Code Online (Sandbox Code Playgroud)
退房inotifywait,
例如监视文件夹abc,你可以这样做:
while inotifywait -e close_write abc; do
# do `ls` when abc changed
ls abc
done
Run Code Online (Sandbox Code Playgroud)