Ubuntu下inotify安装步骤
在安装inotify-tools前,建议先更新系统的软件包列表,确保获取到最新的软件版本:
sudo apt update
inotify-tools是Ubuntu下最常用的inotify用户空间工具集,包含inotifywait(监控文件系统事件)和inotifywatch(统计事件发生次数)两个命令。通过以下命令安装:
sudo apt install inotify-tools
安装完成后,可通过inotifywait --help或inotifywatch --help验证安装是否成功。
若需要通过C语言等编程语言调用inotify的底层接口(如inotify_init()、inotify_add_watch()),需额外安装libinotify-dev开发库:
sudo apt install libinotify-dev
该库提供了访问inotify功能的头文件(如/usr/include/sys/inotify.h)和静态/动态库文件。
默认情况下,Ubuntu系统对每个用户可监控的文件/目录数量有限制(通常为8192)。若需要监控大量文件(如整个系统目录),需调整max_user_watches参数:
# 查看当前限制值
cat /proc/sys/fs/inotify/max_user_watches
# 临时增加限制(重启后失效,例如设置为524288)
echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches
# 永久生效:编辑sysctl.conf文件,添加以下内容
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
# 使配置生效
sudo sysctl -p
安装完成后,可通过以下命令测试inotifywait的基本功能(监控当前目录的文件创建、修改、删除事件):
inotifywait -m -e create,modify,delete .
按下回车键后,终端会持续监听当前目录。若新建、修改或删除文件,会输出类似以下信息:
./test.txt CREATE
./test.txt MODIFY
./test.txt DELETE
gcc、make、libc6-dev等编译工具,并下载inotify-tools源码包(如从SourceForge获取),执行./configure && make && sudo make install完成安装。但包管理器安装更便捷且易于维护。