当前位置: 首页 > 工具软件 > fswatch > 使用案例 >

linux 下 fswatch 的使用

井镜
2023-12-01

linux 下 fswatch 的使用

1. fswatch 的安装:
$sudo apt install fswatch

当然也可以用源码安装.

2. fswatch 的使用.
fswatch 是一个应用程序,可以直接使用它,也可以写程序调用libfswatch 库,
完成当被监视的文件发生期望的事件时,回调自己的函数等。

我阅读了它的源码,因而对使用有了一定的了解. 下面拣最有用的说.

例如: 监视 /tmp 目录发生的事件

$fswatch -t -x /tmp
 

其中
-t 打印时间
-x 打印发生的事件, 这个选项很关键!它能够显示发生了何种事件,包括创建,修改,删除,文件,目录,特定平台相关,属主改变,属性改变等等事件.
/tmp 是被监视的目录 /tmp 目录(该目录下所有操作均被监视)


fswatch -h 是帮助信息. 不过不认真阅读源码,帮助信息有点多而杂的感觉.
fswatch -l 可设置延时,即多长时间执行一次查询,默认1.0秒
fswatch -M 查看可使用的monitor, linux 下默认使用inotify_monitor


ok, 这就够了!

实际使用时,往往还需要使用-r 选项, 递归监视。

还可以指定event 过滤器,例如 --event=Created , 只打印Created 事件, 具体事件可man fswatch

举例: 监视当ip地址改变时,到底改变了什么文件. 我看到了如下结果!

/etc/NetworkManager$ fswatch -r --event=Created -x ./
/etc/NetworkManager/system-connections/Wired connection 1.nmconnection.N4B0X1 Created
/etc/NetworkManager/system-connections/Wired connection 1.nmconnection Created
/etc/NetworkManager/system-connections/Wired connection 1.nmconnection.U82GX1 Created
/etc/NetworkManager/system-connections/Wired connection 1.nmconnection Created

 类似资料: