我如何在 linux 上实时监控哪些文件被访问、创建、修改和删除?

use*_*388 3 monitoring filesystems logging watch

我如何从这一刻开始监控哪些文件被访问/修改/创建/删除。(在实时模式下),类似于 fseventer / fslogger?

小智 7

在 unix 系统上,您可以使用 inotify-tools,它构建在inotify内核子系统 API之上。

通过inotifywait,您可以对标准输出进行实时模式监控:

inotifywait -m -r -e access -e modify -e create -e delete --format 'PATH:%w%f EVENTS:%,e' {{path_to_monitor}}
Run Code Online (Sandbox Code Playgroud)

笔记:

  • -m : 无限期监视
  • -r : 递归监视器
  • -e : 指定要监控的文件系统事件
  • --format : 指定命令的输出

示例(在受监控目录上执行的命令后跟实时 inotifywait 输出):

$ cd {{path_to_monitor}}
$ touch test
PATH:./test EVENTS:CREATE
$ rm test
PATH:./test EVENTS:DELETE
Run Code Online (Sandbox Code Playgroud)