Linuxinotify可监控文件系统事件,通过inotify-tools的inotifywait命令在脚本中实现。示例使用-m持续监控、-ecreate指定创建事件,输出路径后经管道循环处理,能自动执行重命名、移动等操作。
inotify脚本编写应用指南
作者:技术拾光
时间:2026-07-07
浏览:319
文章目录
inotify 在脚本编写中的应用
在 Linux 系统中,有一个非常实用的功能——inotify,它专门用来监控文件系统事件,比如文件被创建、修改、删除等等。在脚本编写中,我们可以借助 inotify-tools 包里的 inotifywait 命令,轻松实现这些监控能力。

基础示例:监控目录文件创建事件
来看一个简单的例子,演示如何在脚本里用 inotifywait 监控一个目录,一旦检测到文件创建事件,就自动执行某些操作:
#!/bin/bash
# 监控的目录
watch_directory="/path/to/your/directory"
# 使用 inotifywait 监控目录
inotifywait -m -e create --format '%w%f' "${watch_directory}" | while read FILE
do
# 当检测到文件创建事件时,执行这里的命令
echo "New file created: ${FILE}"
# 例如,你可以在这里添加其他操作,如重命名文件、移动文件等
# mv "${FILE}" "/path/to/your/target/directory"
done
代码逻辑与关键参数说明
代码的逻辑很清楚:先定义好要监控的目录路径,然后调用 inotifywait 命令。这里几个关键参数值得注意:-m 让命令持续运行(而不是只监控一次就退出),-e create 指定只关心文件创建事件,--format '%w%f' 则控制输出格式——把被触发事件的完整文件路径打印出来。
接下来,通过管道 | 把输出传给 while 循环,每次读到一行(即一个文件路径),就执行循环体内的命令。示例里只是简单打印新文件路径,但实际场景中可以替换成任何你想做的操作,比如重命名、移动到其他目录,或者触发某个后续流程。
运行脚本的步骤
要运行这个脚本,把它保存为 inotify_example.sh,先赋予可执行权限(chmod +x inotify_example.sh),然后在终端执行 ./inotify_example.sh 即可。注意目录路径需要替换成你自己实际要监控的目录。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章