Description
In Unix-like and some other operating systems, **find** is a command-line
utility that locates files based on some user-specified criteria and either
prints the pathname of each matched object or, if another action is requested,
performs that action on each matched object.
It initiates a search from a desired starting location and then recursively traverses the nodes (directories) of a hierarchical structure (typically a tree). find can traverse and search through different file systems of partitions belonging to one or more storage devices mounted under the starting directory.
The possible search criteria include a pattern to match against the filename
or a time range to match against the modification time or access time of the
file. By default, find returns a list of all files below the current working
directory, although users can limit the search to any desired maximum number
of levels under the starting directory.
The related locate programs use a database of indexed files obtained through
find (updated at regular intervals, typically by cron job) to provide a
faster method of searching the entire file system for files by name.