Digamos que el * es un parámetro que en tiempo de ejecución es substituido por todos los ficheros existentes en el directorio actual ( o que coincidan con la expresión que estemos usando). Es decir si dentro de un directorio tengo los ficheros
Código:
fich1
fich2
foo
El ejecutar
Código:
ls *
es lo mismo que ejecutar
Código:
ls fich1 fich2 foo
Y ejecutar
ls fo* es lo mismo que ejecutar
ls foo. Los bueno del * es que realiza la expansión escapando los nombres de los archivos. Es decir que lo que se ejecuta en realidad es
ls "fich1" "fich2" "foo". Cuando los archivos van entre comillas, aunque tengan espacios, la shell es capaz de tratarlos adecuadamente.