我可以使用 tail -f 命令监视文件内容的变化
是否有类似的方式来监控目录结构的变化,就像 tail -f 监控文件一样?
我有一个长时间运行的过程,它将文件添加到目录下的某个路径,并且我想在文件写入目录和子目录时跟踪文件传入情况。
答案1
这inotify
内核系统就是您所需要的。
安装
inotify-tools
:sudo apt-get install inotify-tools
设置监视:
inotifywait /path/to/directory --recursive --monitor
坐下来观看输出。
-m, --monitor
Instead of exiting after receiving a single event, execute
indefinitely. The default behaviour is to exit after the first
event occurs.
-r, --recursive
Watch all subdirectories of any directories passed as arguments.
Watches will be set up recursively to an unlimited depth. Sym‐
bolic links are not traversed. Newly created subdirectories
will also be watched.
您可以使用该--event
选项来监视特定事件,例如创建、修改等。
答案2
--events
不是过滤器,您必须使用--event
。例如,这是用于监视创建/修改事件的命令行:
# inotifywait . --recursive --monitor --event CREATE --event MODIFY
然后我看到:
Setting up watches. Beware: since -r was given, this may take a while!
以下是 feed 的格式:
[path] [event] [file]
例如
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal