Exploring the Linux locate command

The Linux locate command lets you easily find files in the filesystem. It works by maintaining a system-wide database of "all files which are publicly accessible". The database itself is updated periodically by a background process. Because of this approach it returns results much faster than the find command, which only looks for files when you tell it to. Depending on your system, the locate command may need to be configured initially, or it may be pre-configured to work out of the box.

The Linux locate command is easy to use. If you want to find a file named "foo", just use this locate syntax:

locate foo

The locate command returns all files it knows whose name contains the string "foo", like "foo1", "foobar", etc.

You can also use the usual filename wildcard characters, including ? and *. For instance, this locate example command will list every Java file on your system:

locate "*.java"

(Be prepared, that can be a very long list.)

Finally, you can also perform a case-insensitive search using the locate command with the -i argument, like this locate command example:

locate -i "*.java"

Related commands

As mentioned, the find command can also be used to find files and directories.