linux

How to Find a Directory and File in Linux

How to Find a Directory and File in Linux

By Shubhankar Tripathi • • 5 min read

How to Find a Directory in Linux

In Linux, directories are used to organize files and other directories within the filesystem. Every folder you see in a graphical interface is referred to as a directory in Linux.

There are several commands available to locate directories or files quickly from the command line.

Using the locate Command

The locate command searches a prebuilt database and is usually much faster than find.

locate directory_name


Example

locate apache2


This command displays all paths containing the name apache2.

Note: If locate does not return recent results, update the database using:

sudo updatedb


Using the find Command

The find command performs a real-time search in the filesystem and provides more filtering options.

Search for a Directory by Name

find / -type d -name "directory_name"


Example

find /home -type d -name "projects"


This command searches for a directory named projects under /home.

Display Detailed Information

To display detailed information about the matched directory:

find /home -type d -name "projects" -exec ls -lrth {} \;


Parameter Explanation

Option

Description

find

Searches files and directories.

/home

Starting search location.

-type d

Searches only for directories.

-name "projects"

Matches the directory name.

-exec ls -lrth {} \;

Displays detailed information for each result.

Search for Files by Name

To search for files instead of directories:

find /home -type f -name "filename.txt"


Case-Insensitive Search

If you're unsure about the exact capitalization:

find /home -type d -iname "projects"


The -iname option performs a case-insensitive search.

Conclusion

The locate and find commands are essential tools for navigating and managing Linux systems. Use locate for fast searches and find when you need more precise filtering and real-time results.

Quick Reference

# Locate a directory or file

locate directory_name


# Find a directory

find / -type d -name "directory_name"


# Find a file

find / -type f -name "filename"


# Case-insensitive search

find / -type d -iname "directory_name"


# Show detailed information

find / -type d -name "directory_name" -exec ls -lrth {} \;


Mastering these commands can save significant time when working with large Linux filesystems and server environments.