0

0

Linux文件系统inotify-tools命令使用方法

舞姬之光

舞姬之光

发布时间:2025-09-30 22:46:01

|

474人浏览过

|

来源于php中文网

原创

inotify-tools是linux下基于inotify内核的文件系统事件监控工具,包含inotifywait和inotifywatch。inotifywait可实时监听文件或目录的访问、修改、创建、删除等事件,支持递归监听、自定义输出格式及时间戳显示,常用于日志监控、自动备份和热重载;通过-m持续监听、-r递归、-e指定事件类型,结合shell脚本可实现配置变更后自动重启服务等自动化操作;inotifywatch则用于统计指定时间内各类事件的发生次数,适用于行为分析。安装可通过主流发行版包管理器完成,如apt、yum或dnf。合理选择事件类型与格式化输出能有效提升运维效率。

linux文件系统inotify-tools命令使用方法

Linux中的inotify-tools是一组命令行工具,用于监控文件系统事件。它基于inotify内核子系统,能实时捕获文件或目录的创建、修改、删除等操作。常用于日志监控、自动备份、开发环境热重载等场景。

安装 inotify-tools

大多数主流发行版可通过包管理器直接安装:

  • Ubuntu/Debian:sudo apt install inotify-tools
  • CentOS/RHEL:sudo yum install inotify-tools(或使用dnf
  • Fedora:sudo dnf install inotify-tools

常用命令:inotifywait

inotifywait是最常用的命令,用于阻塞等待文件系统事件并输出结果。

基本语法:inotifywait [选项] 文件或目录

常用选项:

  • -m:持续监听,不退出
  • -r:递归监听子目录
  • -q:静默模式,减少输出
  • --format:自定义输出格式
  • --timefmt:时间格式(需配合%T)
  • -e:指定监听事件类型

常见事件类型:

  • access:文件被读取
  • modify:文件内容被修改
  • create:在目录中创建新文件
  • delete:文件或目录被删除
  • move:文件被移动
  • attrib:文件属性改变(如权限、时间戳)

示例:监听某目录下所有修改和创建事件

inotifywait -m -r -e modify,create /path/to/dir

带时间戳的监听输出:

Shell脚本编写基础 中文WORD版
Shell脚本编写基础 中文WORD版

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统

下载
inotifywait -m -r --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f %e' -e modify,create /var/log

输出类似:2025-04-05 10:23:01 /var/log/app.log MODIFY

进阶用法:结合脚本自动处理事件

可将inotifywait与shell脚本结合,实现自动化响应。

示例:当某个配置文件被修改时自动重启服务

inotifywait -m -e modify /etc/myapp/config.conf | while read path action file; do
  echo "检测到 $path$file 被 $action"
  systemctl restart myapp
done

注意:管道会启动子shell,若需在主shell中使用变量,建议写成脚本文件并后台运行。

另一个命令:inotifywatch

inotifywatch用于统计一段时间内文件系统的事件发生次数。

示例:统计30秒内/var/www/html下的事件

inotifywatch -v -e access -e modify -t 30 -r /var/www/html

结束后会输出每个文件的事件统计汇总。

基本上就这些。掌握inotifywait的常用选项和事件类型,就能满足大部分实时监控需求。不复杂但容易忽略的是事件的精确选择和输出格式控制,合理使用可大幅提升调试和自动化效率。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

105

2023.09.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

887

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

459

2024.06.27

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

287

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

222

2023.12.29

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1564

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

716

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

59

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.4万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号