Provavelmente você está usando um desses shells como bash e a maioria dos outros POSIX shells que não reportam um erro quando globs não combinam com nenhum arquivo e passam o glob textual (unexpanded) para o aplicativo (e não há arquivos não ocultos com uma extensão .log no diretório atual).
Nestas conchas, você descobrirá que
echo *.log
saídas
*.log
em vez de um erro como:
zsh: no matches found: *.log'
fish: No matches for wildcard '*.log'. See 'help expand'.
echo *.log
echo: No match.
Então, se não houver nenhum arquivo .log no diretório atual:
find . -name *.log
Seria o mesmo que
find . -name '*.log'
onde um argumento litteral *.log é passado para find .
Os shells em que isso foi corrigido são zsh , csh , tcsh e versões recentes de fish (bem, na verdade, foi OK em versões anteriores do Unix, mas foi quebrado no shell Bourne em o final dos anos 70 e depois fixou novamente em algumas conchas). Com bash , você pode usar shopt -s failglob para obter o melhor comportamento.
Observe que, se houvesse um arquivo .log no diretório atual (como file.log , ele se tornaria:
find . -name file.log
E se houvesse mais de um (como file1.log e file2.log ), isso se tornaria:
find . -name file1.log file2.log
Qual seria uma invocação find inválida.