inotifywait:实时监控目录文件变化
用 inotify-tools 的 inotifywait 在文件被创建、修改或删除的瞬间触发动作。
执行 inotifywait -m -r -e create,modify,delete 目录 即可实时打印每次变更事件,或在脚本中循环读取输出做出反应。
01命令
命令
$ inotifywait -m -r --format '%w%f %e' -e create,modify,delete /var/www/uploads02作用说明
inotifywait 是内核 inotify API 的命令行入口:不必在循环里用 find 或 ls 反复轮询,内核会在事件发生的瞬间唤醒你的进程。-m 让监控在首个事件后继续(默认只报一次),-r 递归子目录,-e 过滤关心的事件,--format 控制输出格式,便于 while read 循环分发处理。典型用途:自动处理上传文件、同步变更、保存代码后自动跑测试。
03风险
!注意: inotify 监视器数量有限(见 /proc/sys/fs/inotify/max_user_watches);递归监视超大目录树可能耗尽配额并悄悄漏掉事件。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- inotifywait(1) — Arch Linux manual依据: -m monitor continuously, -r recursive, -e selects events, --format customizes the output line
- inotifywait(1) — Ubuntu manpage依据: -m monitor continuously, -r recursive, -e selects events (create, modify, delete, move), --format customizes output
最后验证: 2026-09-17 · 分类: 文件与文件夹