How to Find Files Using the find Command

How to Find Files Using the find Command

Hey there! 👋 Welcome to this Linux tutorial from ProgramGuru.org. In this guide, we’re going to learn how to find files and directories using one of the most powerful tools available in Linux: the find command.

We’ll start with basic examples and slowly build up to more powerful usage—so even if you’re a beginner, don’t worry. Let’s dive right in!

🛠️ Basic Syntax of find

The basic syntax of the find command looks like this:

find [starting_directory] [conditions]

By default, if you don’t provide a starting directory, it uses the current directory (.) as the root for the search.

🔍 Example 1: Find files by name

find . -name "file.txt"
./docs/file.txt
./backup/file.txt

This command will search for any file named file.txt starting from the current directory. It will return the path to each matching file.

🧠 Tip: Case-Insensitive Search

find . -iname "file.txt"

Using -iname instead of -name makes the search case-insensitive.

📂 Example 2: Find only directories

find . -type d -name "config"

This will search for directories (not files!) named config.

📄 Example 3: Find only files

find . -type f -name "*.log"

Here, we’re looking for files ending in .log. The -type f ensures we only get files, not directories.

📏 Example 4: Find files by size

find /var/log -type f -size +10M

This finds files larger than 10 megabytes in the /var/log directory. You can also use:

  • -size -10M for less than 10 MB
  • -size 10M for exactly 10 MB

🕒 Example 5: Find files modified recently

find . -type f -mtime -1

This finds files modified in the last 1 day. You can change the number to any number of days.

🗑️ Example 6: Delete found files (Be Careful!)

find . -name "*.tmp" -type f -delete

This will delete all .tmp files it finds. Make sure to double-check your path and condition before using -delete!

💡 Example 7: Execute a command on each result

find . -name "*.sh" -exec chmod +x {} \;

This finds all shell scripts and makes them executable using chmod +x. The {} is replaced with each file path, and \; ends the command.

🧹 Recap

  • -name to match file names
  • -type f for files and -type d for directories
  • -size for size filters
  • -mtime for modification time
  • -exec and -delete for actions

And that’s it! 🎉 You’ve just learned how to find files like a pro using the find command in Linux.

Practice these on your system and try customizing the options. You’ll get comfortable in no time!

Thanks for learning with ProgramGuru.org. 🚀