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.