How to exclude some directories from find command in Linux

There can be cases where you are searching for a file but you want to exclude some particular directories from the search.
-prune is used to ignore files and directories from your search
Lets see some examples
Exclude "work" directory in your search to find "myfile" document.


I have placed the same copy inside "deepak" and "work" directory

The below command will lookout for all the files with name "myfile" inside /root/

# find /root/ -name myfile -type f

To exclude "work" directory

# find /root/ -path '/root/work' -prune -o -name myfile -type f -print
Also if you don't want to give complete path of the excluded directory, you can use the -name argument
# find /root/ -name 'work' -prune -o -name myfile -type f -print
In the above case any directory with name "work" would be excluded from the find command

Excluding multiple directories from your search
Exclude any directory with name work and home

# find .  ( -name work -o -name home )  -prune -o -name myfile -type f -print

You can use -o argument in the shown format multiple times as many directories you want to exclude

To learn more about find command follow the below link
10 Practical Examples for using FIND Command in Linux
Related Articles
10 practical examples to use USERADD command in linux
Tutorial for Monitoring Tools SAR and KSAR with examples in Linux
Tutorial for SYSLOG with Examples in Red Hat Linux
9 examples to help you understand top command usage in Unix/Linux