Searching for files by file name on Mac or Linux
By Pete Freitag
Have you ever had to find a file by a file name or file extension? Sure you have! Here's how I locate a file when I'm using a Mac or Linux shell.
find command is really handy because it will list every file in the current directory and all sub directories. You can also give it a path, so if you want to search just your home directory (and it is not your current working directory) you can just run:
And that will list every single file in your home directory (The
~ is a shortcut for home directory).
find command will be installed by default on your Mac, and just about every linux distribution.
While that is handy, it might list out thousands of files, so our next step is to search the results for the file name we are looking for.
grep command can be used to search the output of another command by using the
| pipe operator. For example if I run:
find ~ | grep log
I can search my home directory for any file with
log in the file name (or directory name).
Since grep supports regular expressions, if I just want to search file files ending in
.log I can do that like this:
find | grep '\.log$'
Searching by file name using
After my initial thought to use
grep, I realized that the
find command also has a lot of builtin options you can leverage, so we can simplify this by using:
find -name '*.log'
There are a bunch of options you might find handy, run
man find to see them all.
Some of you might say that you can just use Finder on a Mac to search for files by name, and you'd be correct, that also works, but this is much faster and more flexible.
Searching for files by file name on Mac or Linux was first published on January 07, 2020.
If you like reading about mac, linux, find, grep, or tips then you might also like:
- Recursively Counting files by Extension on Mac or Linux
- Howto Backup your Mac incrementally over SSH
- The 15 Essential UNIX commands
- Creating a Symbolic Link with ln -s What Comes First?
Weekly Security Advisories Email
Advisory Week is a new weekly email containing security advisories published by major software vendors (Adobe, Apple, Microsoft, etc).