find . -name *mobile* # does not work
vs
find . -name '*mobile*' # works
La diferencia se debe a los pasos que la cáscara toma cuando se analiza una línea. Normalmente, el shell expande cualquier comodín que encuentre antes de ejecutar el comando. Sin embargo, las comillas simples marcan el argumento como literal, lo que significa que el shell no preforma la expansión del comodín en ese argumento antes de ejecutar el comando.
Para demostrar la diferencia, supongamos que usted está en un directorio con los siguientes archivos:
$ tree
./
mobile.1
dir/
mobile.2
zsh ampliará la primera forma a la siguiente antes de ejecutarlo:
find . -name mobile.1
Lo que significa que buscar solo buscará archivos llamados literalmente mobile.1
El segundo formulario se ejecutará de la siguiente manera:
find . -name *mobile*
Lo que significa que find buscará cualquier nombre de archivo que contenga la cadena "mobile".
Lo importante a tener en cuenta aquí es que tanto zsh como find admiten la misma sintaxis de comodín, pero en este caso, debe buscar manejar los comodines, no zsh.
Creo que tiene una mejor respuesta aquí: https://unix.stackexchange.com/questions/130958/scp-wildcard-not-working-in-zsh – sttaq