fswatch是一个跨平台的文件更改监视器,当指定文件或目录的内容被更改或修改时,它会收到通知警报。
fswatch在不同的操作系统上执行多种类型的监视器,例如:
- 基于 Apple OS X 的文件系统事件 API 构建的监视器。
- 基于kqueue的监视器(FreeBSD 4.1 中存在的通知接口)也支持许多 *BSD 系统(包括 OS X)。
- 基于 Solaris 内核的文件事件通知 API 及其衍生产品的监视器。
- 基于 inotify 的监视器,inotify 是一个内核子系统,可显示应用程序的文件系统修改。
- 基于 ReadDirectoryChangesW 的监视器,这是一种记录目录更改的 Windows API。
- 定期检查文件系统状态的监视器,将文件修改时间保存在内存中并手动确定文件系统更改(可以在任何可以使用 stat 的地方工作)。
fswatch的特点
- 支持多种特定于操作系统的 API
- 允许递归目录监控
- 使用包含和排除正则表达式执行路径过滤
- 支持自定义记录格式
- 此外,它还支持周期性空闲事件
在Linux系统中安装fswatch
要在Linux上安装fswatch,请使用以下适合你特定Linux发行版命令。
sudo apt install fswatch [在Debian、Ubuntu和Mint上]
sudo yum install fswatch [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
sudoemerge -a sys-apps/fswatch [在Gentoo Linux上]
sudo apk a