inotify 是 Linux 内核提供的一种文件系统事件监控机制,它可以实时监控文件或目录的变化,如创建、删除、修改等。在 Ubuntu 中,你可以使用 inotify-tools 这个软件包来方便地使用 inotify。
以下是在 Ubuntu 中配置和使用 inotify 的步骤:
sudo apt update
inotify-tools:sudo apt install inotify-tools
inotifywait 是 inotify-tools 中的一个命令行工具,用于监控文件系统事件。
inotifywait [选项] 目录
-m 或 --monitor:持续监控目录,而不是只运行一次。-r 或 --recursive:递归监控目录及其子目录。-e 或 --event:指定要监控的事件,如 create, delete, modify 等。可以指定多个事件,用逗号分隔。-q 或 --quiet:减少输出信息。-v 或 --verbose:增加输出信息。监控当前目录下的所有文件和子目录的变化:
inotifywait -m -r -e create,delete,modify .
监控 /var/log 目录下的所有文件的变化,并且每发生一个事件就输出详细信息:
inotifywait -m -r -e modify /var/log -v
inotifywatch 是另一个 inotify-tools 中的工具,用于统计文件系统事件的发生次数。
inotifywatch [选项] 目录 [时间间隔]
-t 或 --timefmt:指定时间格式。-e 或 --event:指定要监控的事件。-m 或 --monitor:持续监控目录。-r 或 --recursive:递归监控目录及其子目录。统计 /var/log 目录下所有文件的变化次数,每 60 秒统计一次:
inotifywatch -m -r -e modify /var/log -t "%y-%m-%d %H:%M:%S" 60
通过这些工具和选项,你可以在 Ubuntu 中灵活地配置和使用 inotify 来监控文件系统的变化。