List all files/dirs in or below the current directory that match 'filename'.
The direct equivalent is
find . -iname <filename>
which will list all files and directories called
<filename> in the current directory and any subdirectories, ignoring case.
If your version of find doesn't support
-iname, you can use
-name instead. Note that unlike
-name is case sensitive.
If you only want to list files called
<filename>, and not directories, add
find . -iname <filename> -type f
If you want to use wildcards, you need to put quotes around it, e.g.
find . -iname "*.txt" -type f
otherwise the shell will expand it.
As others have pointed out, you can also do:
find . | grep "\.txt$"
grep will print lines based on regular expressions, which are more powerful than wildcards, but have a different syntax.
man find and
man grep for more details.
Some shells allow
ls **/filename, which is quite convenient.
You can do this with
find . | egrep filename
It can be also:
tree -if </your/path> or
'pwd' as a path