如何在Linux中创建一个文件监听器?

10
我正在尝试在特定目录上创建一个监听器,当该路径中出现文件时,它会触发Linux命令。例如,每当在类似 C:/home/ 这样的目录中出现文件时,我想从该文件中读取一串文本,然后启动另一个命令。我考虑使用循环,但那似乎效率低下。

3
Linux系统中没有'C:'作为驱动器。我有点困惑。 - squiguy
如果你不需要立即知道,可以睡眠一段时间,而不是不断地轮询。你仍然可以使用循环,但每分钟(或更长时间)执行一次。 - Randy Howard
@squiguy 你说得对,我的错。我是指/home/或类似的东西。因为经常在不同的操作系统之间切换,所以有点脑抽了。 - Ray
1个回答

15

要获取关于文件创建、打开、修改等事件的通知,请查看 inotify。在bash中使用它的好方法是使用inotifywait命令 - 这里是它的手册页面。它会一直阻塞直到发生您关心的事件。例如:

inotifywait -e create /path/to/watch
echo "ding!"

当在该路径中创建文件或目录时,会发出提示音。请参阅man页面获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接