inotifywait 排除文件类型

inotifywait 排除文件类型

我在脚本中使用 inotifywait 并想知道是否有办法排除隐藏文件被监视?

我似乎无法确定排除隐藏文件的正则表达式模式。

答案1

我假设您指的是以点 ( .) 开头的文件名,您可以忽略它们。问题inotifywait --exclude是该模式似乎与文件的完整路径匹配,因此您需要考虑到这一点。

因此,如果您提供inotifywait目录foobar进行监视,则模式将与文件名匹配,例如foo/something, bar/somethingelse。像在正则表达式中一样,您需要转义点。

这应该监视当前目录中除点文件之外的所有创建(它是正则表达式,因此我们需要转义点):

inotifywait -ecreate -m --exclude '^\./\.' .

或者,更具体地说,通过查找斜杠和点的组合来排除任何目录中的点文件:

inotifywait -ecreate -m --exclude '/\.' foo bar

当然,如果您正在查看路径的某些部分带有前导点的目录,那么这将不起作用;它将匹配该路径中的所有内容。

相关内容