GNU Direvent monitors events in the file system directories. For each event that occurs in a set of pre-configured directories, the program calls an external program associated with it, supplying it with the information about the event and the location within the file system where it occured. Interfaces for tracking changes to file systems are highly system-specific. Direvent aims to provide a uniform and system-independent command-level interface. It is known to work with all modern Linux kernels and BSD systems (FreeBSD, NetBSD, OpenBSD, Darwin).