如何用inotify监控目录变化
inotify是Linux实时监控文件系统变化的机制。安装inotify-tools后,使用inotifywait命令可持续监控目录,支持create、delete等事件类型。通过参数指定事件并重定向输出至日志文件,可实现后台运行。结合脚本可方便地启动监控并优雅退出。
在 Linux 系统里,想要实时追踪文件系统的一举一动,inotify 是个相当趁手的机制。无论是文件被创建、删除,还是内容被修改,它都能第一时间捕捉到。咱们来看看怎么用 inotify 把目录变化盯得死死的。
安装 inotify-tools
工欲善其事,必先利其器。inotify-tools 是一组命令行工具,专门用来和 inotify 打交道。不同系统的安装方式略有差异:
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install inotify-tools
# CentOS/RHEL
sudo yum install epel-release
sudo yum install inotify-tools
用 inotifywait 盯着目录
inotifywait 是这套工具里的核心选手——它会在后台等待文件系统事件,一旦有动静就立刻报告。
先来一个最基础的用法:
inotifywait -m /path/to/directory
加个 -m 参数,它会持续监控,每次检测到变化就会在终端输出相关信息。
只想关注某些特定事件? 用 -e 指定就行。常见的事件类型包括:
create—— 文件或目录被创建delete—— 文件或目录被删除modify—— 文件内容被修改move—— 文件或目录被移动attrib—— 文件属性发生变化
比如,只监控创建和删除:
inotifywait -m -e create,delete /path/to/directory
想要更详细的输出? 加上 -v 参数,能看到更多上下文信息。
inotifywait -m -v -e create,delete /path/to/directory
后台长期运行并把日志存起来,便于后续分析:
inotifywait -m -v -e create,delete /path/to/directory > /var/log/inotify.log 2>&1 &
这条命令会把标准输出和错误都重定向到 /var/log/inotify.log,并在后台默默干活。
一个实用的监控脚本
把上面的思路集成到一个 Bash 脚本里,可以方便地启动监控并优雅地退出:
#!/bin/bash
DIRECTORY="/path/to/directory"
LOGFILE="/var/log/inotify.log"
inotifywait -m -v -e create,delete "$DIRECTORY" > "$LOGFILE" 2>&1 &
# 记录 inotifywait 的进程号
PID=$!
echo "Monitoring directory $DIRECTORY for changes. Press Ctrl+C to stop."
trap "kill $PID; exit" SIGINT SIGTERM
wait $PID
保存为 monitor.sh,加上执行权限跑起来:
chmod +x monitor.sh
./monitor.sh
脚本会一直盯着目录,所有变动都记入日志,按 Ctrl+C 就能干净地停止监控。
掌握了这些,你就能灵活运用 inotify 为文件系统变化装上“感应器”,再配合其他自动化工具,能省下不少人工盯盘的麻烦。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















