How to Find Files Using locate Command

How to Find Files Using locate Command

Hey there! 👋 If you've ever found yourself lost in your Linux system, trying to remember where a file is hiding, then locate is about to become your new best friend. In this tutorial, we're going to learn how to use the locate command to find files and directories quickly and efficiently.

What is locate?

The locate command helps you find the full path of files or directories by searching a prebuilt database. Unlike find, which scans the filesystem in real time, locate is much faster because it uses an indexed list of all files on your system.

Step 1: Install locate (if not already installed)

First things first—let's install mlocate, which provides the locate command.

sudo apt update
sudo apt install mlocate

For Red Hat-based systems:

sudo yum install mlocate

Step 2: Update the locate database

Before you can use locate, you need to update its database. This step collects all the paths on your system so locate knows where to look.

sudo updatedb

This might take a few seconds depending on your system size.

Step 3: Find a file using locate

Now, let’s say you want to find a file named notes.txt. You simply run:

locate notes.txt

You’ll see something like:

/home/alex/Documents/notes.txt
/home/alex/Downloads/old/notes.txt

Wow, that was fast! 🚀 Unlike find, you don’t have to specify a directory—it searches the entire system.

Step 4: Use wildcards with locate

Want to find all files that end with .log? Use a wildcard:

locate "*.log"

Note: You may need to wrap the pattern in quotes to prevent the shell from expanding it too early.

Step 5: Filter results with grep

If your search returns too many results, pipe it through grep to filter them:

locate notes | grep "2024"

This will show only results that contain "2024" in their paths.

Pro Tip: Run updatedb regularly

Because locate depends on a database, new files won't show up until the database is updated. You can automate this by setting up a cron job, or just run sudo updatedb manually every now and then.

That’s it!

Now you know how to use the locate command to find files in seconds. Try it out and see how much time it saves you!

See you in the next tutorial. Happy Linux-ing! 🐧