fswatch is a file change monitor that receives notifications when the contents of the specified files or directories are modified.
A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.
fswatch implements several monitors:
- A monitor based on the File System Events API of Apple OS X.
- A monitor based on kqueue, a notification interface introduced in FreeBSD 4.1 (and supported on most *BSD systems, including OS X).
- A monitor based on the File Events Notification API of the Solaris kernel and its derivatives.
- A monitor based on inotify, a Linux kernel subsystem that reports file system changes to applications.
- A monitor based on ReadDirectoryChangesW, a Microsoft Windows API that reports changes to a directory.
- A monitor which periodically stats the file system, saves file modification times in memory, and manually calculates file system changes (which works anywhere
stat (2)can be used).
installation:
brew install fswatch
usage:
fswatch 1.14.0
Usage:
fswatch [OPTION] ... path ...
Options:
-0, --print0 Use the ASCII NUL character (0) as line separator.
-1, --one-event Exit fswatch after the first set of events is received.
--allow-overflow Allow a monitor to overflow and report it as a change event.
--batch-marker Print a marker at the end of every batch.
-a, --access Watch file accesses.
-d, --directories Watch directories only.
-e, --exclude=REGEX Exclude paths matching REGEX.
-E, --extended Use extended regular expressions.
--filter-from=FILE
Load filters from file.
--format=FORMAT Use the specified record format.
-f, --format-time Print the event time using the specified format.
--fire-idle-event Fire idle events.
-h, --help Show this message.
-i, --include=REGEX Include paths matching REGEX.
-I, --insensitive Use case insensitive regular expressions.
-l, --latency=DOUBLE Set the latency.
-L, --follow-links Follow symbolic links.
-M, --list-monitors List the available monitors.
-m, --monitor=NAME Use the specified monitor.
--monitor-property name=value
Define the specified property.
-n, --numeric Print a numeric event mask.
-o, --one-per-batch Print a single message with the number of change events.
-r, --recursive Recurse subdirectories.
-t, --timestamp Print the event timestamp.
-u, --utc-time Print the event time as UTC time.
-x, --event-flags Print the event flags.
--event=TYPE Filter the event by the specified type.
--event-flag-separator=STRING
Print event flags using the specified separator.
-v, --verbose Print verbose output.
--version Print the version of fswatch and exit.
Available monitors in this platform:
fsevents_monitor
kqueue_monitor
poll_monitor
See the man page for more information.
Report bugs to .
fswatch home page: .