Sim, o shell entende *
como todos os arquivos com qualquer caractere no diretório e *.rb
como todos os arquivos com qualquer caractere e termina .rb
, além de expandi-lo como tal.
O comando find
aceita globbing.
Se você não citar o *
, o shell expandirá antes , o comando find
verá seu argumento, então, em vez de um glob *.rb
passado para find
, os nomes de todos os arquivos que correspondem ao glob no diretório serão passados para find
e find
tentará interpretá-los como argumentos, o que provavelmente resultará em um erro ou, pelo menos, não o que você deseja (funcionará corretamente somente se não houver arquivos correspondentes no diretório atual)