Skip to main content

Explore your training options in 10 minutes

Linux find Command: A Guide

James Gallagher - January 04, 2021

When you’re starting to use the Linux command line, you’ll encounter the question: How do I find files using Linux? It’s not as if there is a search bar you can use in your command line to find a file on your operating system. That’s where the Linux find command comes in handy.

In this article, we’re going to discuss how to find files in Linux using the find command. We will walk through a couple of examples of the find command in action to help you search for files based on different attributes. Let’s get started.

Linux find Command Syntax

Here is the syntax for the find command in Linux:

Get offers and scholarships from top coding schools illustration

Find Your Bootcamp Match

  • Career Karma matches you with top tech bootcamps
  • Access exclusive scholarships and prep courses

By continuing you agree to our Terms of Service and Privacy Policy , and you consent to receive offers and opportunities from Career Karma by telephone, text message, and email.

find [options] [file path] [expressions]
  • The options attribute controls what type of files you will search for and the debugging options you specify.
  • file path is the directory at which your search for files will begin.
  • expressions refer to all the options and search patterns that will be used to find a file or set of files.

How to Find Files by Name

Perhaps the most popular usage of the find command is to find a file by name. This allows you to search through a folder for a file based on its filename.

You can use the -name option with the find command to search for a file, followed by the name of the file for which you are searching.

Suppose we want to search for a file called find_tutorial.pdf in the directory /home/careerkarma/tutorials. We could do so using this command:

find /home/careerkarma/tutorials -name find_tutorial.pdf

Let’s break down this command:

  • /home/careerkarma/tutorials is the name of the folder in which we are searching for our files (the file path).
  • -name find_tutorial.pdf specifies the name of the file for which we want to search (the expression).

The find command is not case sensitive. As a result, the above command would return any file which has the name “find_tutorial.pdf”, even if the matching filename contained capital letters.

How to Find Files by Extension

You can also search for files based on their extensions. To do so, you can use the same syntax you would use for finding a file by name.

Suppose we want to find all files in the /var/log folder that ended in “.log”. We could do so using the following command:

find /var/log -name '*.log'

The “*.log” name tells the command line to search for any file whose name ends in .log; * is known as the wildcard character which can be used as a substitution for any text.

Find Files by Modified Date

When you’re searching for a file, you may want to refine your search to only files that were modified between a specific date.

Suppose you modified a file in /etc/nginx last week but you’re not sure which one. You could find which file you modified using this command:

find /etc/nginx -name * -mtime 7

This command uses * to denote any file name, and the -mtime flag to instruct find to only return files that have been modified in the past seven days.

Venus, a software engineer at Rockbot

"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"

Venus, Software Engineer at Rockbot

How to Find and Delete Files

You may want to delete the files returned by a find search. You can do so using the -delete option at the end of your command.

Before you use the find command to delete files, you should ensure the files returned by the find command are the ones you want to delete. It’s best to run the find command without the -delete option first, so you can see what files will be deleted.

Remember, there is no trash can on the Linux command line; when a file is gone, it’s gone.

Suppose we want to delete all “.log” files in the folder /home/careerkarma/logs. We could do so using this command:

find /home/careerkarma/logs -name "*.log" -delete

Find Files by Different Types

So far, we’ve used the find command to search for any file or directory that matches a certain criteria on your file system. But what if you only want to search for files, folders or symbolic links?

The -type option allows you to specify the file type for which you want to search. The most common values used with this option are:

  • f: Search for files
  • d: Search for folder
  • l: Search for symbolic link

Suppose you want to find a list of all folders in the /home/careerkarma folder. You could accomplish this task using the following command:

find /home/careerkarma -type d

In this command, the -type d flag tells the find command to only search for folders.


The Linux find command gives you a number of options to find files and directories on your system. While the command may be less intuitive than a search bar, it gives you a lot of control over file types for your search.

Interested in learning more about the find command? Type man find into your terminal to read more about the options offered by this command from the Linux manual.

About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.

What's Next?

James Gallagher

About the author: James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse,, Afrotech, and others.

Skip to main content