Tutorial details
Difficulty Easy (rss)
Root privileges No
Requirements None
Estimated completion time 1m

The find command recursively descends the directory tree for each path provided, evaluating an expression. It is mainly used to search files and directories on Linux and Unix-like systems. The syntax is as follows to search files according to given criteria. You can search for files by name, owner, group, type, permissions, date, and other criteria:
find dir-to-look criteria what-to-do
OR
find [options] dir-to-look criteria what-to-do
In this example, search your $HOME for a file called hello.c:

find $HOME -name "hello.c" -print
This will search the whole $HOME (i.e. /home/username/) system for any files named "hello.c" and display their pathnames:
/Users/vivek/Downloads/hello.c
/Users/vivek/hello.c
However, it will not match HELLO.C or HellO.C. To match is case insensitive pass the -iname option as follows:

find $HOME -iname "hello.c" -print
Sample outputs:
/Users/vivek/Downloads/hello.c
/Users/vivek/Downloads/Y/Hello.C
/Users/vivek/Downloads/Z/HELLO.c
/Users/vivek/hello.c
Finally, pass the -type f option to only search for files:

find /dir/to/search -type f -iname "fooBar.conf.sample" -print
find $HOME -type f -iname "fooBar.conf.sample" -print
A note about AIX/HP-UX and other old Unix-like systems

The -iname works either on GNU or BSD (including OS X) version find command. If your version of find command does not supports -iname, try the following syntax using grep command:

find $HOME | grep -i "hello.c"
find $HOME -name "*" -print | grep -i "hello.c"
OR try

find $HOME -name '[hH][eE][lL][lL][oO].[cC]' -print
Sample outputs:
/Users/vivek/Downloads/Z/HELLO.C
/Users/vivek/Downloads/Z/HEllO.c
/Users/vivek/Downloads/hello.c
/Users/vivek/hello.c
GarryField Reviewed by GarryField on . Linux/Unix: Find Command Ignore Case Insensitive Search http://www.besthostingforums.com/images/cdn/besthostingforums.com/2014/04/unixlogo-1.gif Tutorial details Difficulty Rating: 5