Parece que você está procurando find
:
find . -type f -name "*foo*"
procuraria nomes de arquivos contendo foo
no nome no diretório atual e nos subdiretórios.
find . -maxdepth 1 -type f -name "*foo*"
procuraria nomes de arquivos contendo foo
apenas no diretório atual.