FIND
FILES WITH SLOCATE
When searching for a file, the first command most users try is the
which command. However, this works only for files included in the
user's PATH. If a file isn't in the user's PATH, the which command
will never find it.
The next option might be the find command itself, but this can be
overkill. Find takes time because it looks in each directory and at
each file to match the requested criteria. This is great if you're
looking for files with certain permissions or ownership, but it can
be time-consuming when you're searching for a particular file by name.
Another option is the slocate command, which comes standard with most
Linux distributions. This command searches for files by looking them
up in a database, which a nightly cron job typically updates.
After installing slocate, you must create the database that it searches.
Depending on the size of your file system, the time required to construct
the database will vary.
To initialize the database, use the following:
# slocate -c -u
After creating the database, create a cron job to run slocate (as
shown above) every night to update the database.
To find a file, execute the following:
$ slocate myfile
This command will find the "myfile" file, no matter where on the system
it resides. If similar files exist, such as "myfiles" or "test-myfile,"
the command will find those files as well.
There are also a number of options you can pass to this command. You
can use slocate to search for files by passing it a regular expression,
you can perform case-insensitive searches, and you can limit the number
of results returned.