How To Find Files And Folders In Linux System

This command technically walks through directories tree on the file system. It can be used to find directory and file matched with RegEx patterns.

General syntax for find command:

$ find [OPTIONS] [PATH...] [EXPRESSION]

Search for specific file in a directory

find . /ExampleDir -name example.txt

With the -name parameter, this command will attempt to search for a example.txt within the ExampleDir directory; and if found, will return path to the file.

Find and list files of same extension

find . /dirname -name *.txt

This command will search, within the ExampleDir directory, all files ending with the extension .txt. If found, each result will be returned in a new line.

Find and list empty files and empty sub-directories

find . /ExampleDir -empty

This command, with the -empty parameter, will find and list all empty files and empty sub-folders inside the ExampleDir folder.

Definition of empty file being 0 bytes filesize, and empty folder being no files or files with 0 bytes.

Find and list files that contain specific text

find . /ExampleDir - type f -name "*.txt" - exec grep 'Example' {} \;

This command searches for the word/string “Example” inside files with the extension .txt inside ExampleDir directory.

Find and list files and sub-directories own by specific user

find . /ExampleDir -user ubuntu

This command, with the -user parameter, will find files and sub-directories owned by Ubuntu user in ExampleDir directory. If found, the filename(s) will be returned.

In the following sample ls -l result:

-rw-rw-r-- 1 newone ubuntu 20 Jan 27 06:24 example.txt

newone represents group name, and ubuntu is the user.

Find and list files and sub-directories own by specific group

find . /ExampleDir -group ubuntu

This command, with the -group paramter, will find all files and sub-directories owned by Ubuntu group in ExampleDir directory. If found, the filename(s) will be returned.

Happy learning!

4 Likes