温馨提示×

Linux readdir实时监控目录变化

小樊
51
2025-09-11 14:45:27
栏目: 智能运维

在Linux系统中,你可以使用inotify工具来实时监控目录变化。inotify是Linux内核提供的一种文件系统事件监控机制,可以用来监控文件或目录的变化,如创建、删除、修改等。

以下是一个简单的示例,展示如何使用inotifywait命令实时监控目录变化:

  1. 首先,确保你的系统已经安装了inotify-tools包。如果没有安装,可以使用以下命令进行安装:
sudo apt-get install inotify-tools # 对于基于Debian的系统(如Ubuntu) sudo yum install inotify-tools # 对于基于RPM的系统(如Fedora、CentOS) 
  1. 使用inotifywait命令监控目录变化。以下是一个示例命令,监控当前目录下的所有变化,并将事件输出到控制台:
inotifywait -m -r -e create,delete,modify,move --format '%w%f %e' . 

参数说明:

  • -m:监控模式,持续监控目录变化。
  • -r:递归监控子目录。
  • -e:指定要监控的事件类型,如创建(create)、删除(delete)、修改(modify)和移动(move)。
  • --format:自定义输出格式,%w%f表示文件或目录的路径,%e表示事件类型。
  • .:指定要监控的目录,这里使用.表示当前目录。

运行上述命令后,你将看到类似以下的输出:

./test.txt MODIFY ./test.txt MOVE ./subdir CREATE ./subdir/test.txt DELETE 

这表示在监控过程中,test.txt文件被修改和移动,subdir目录被创建,subdir/test.txt文件被删除。

你可以根据需要调整监控的事件类型和输出格式。更多关于inotifywait的详细信息和选项,请参考其手册页:

man inotifywait 

0