Una característica importante de la mayoría de sistemas es la posibilidad de referirse a más de un fichero usando caracteres especiales. Estos caracteres comodín le permiten referirse a todos los nombres de fichero que contengan el carácter ``n''.
El comodín `*'' especifica cualquier carácter o cadena de caracteres en el nombre de un fichero. Cuando usa el carácter ``*'' en un nombre de fichero, el intérprete de órdenes lo reemplaza con todas las posibles sustituciones de los nombres de fichero en el directorio al que esté haciendo referencia.
He aquí un rápido ejemplo. Suponga que Larry tiene los ficheros frog,
joe, y stuff en su directorio actual.
Para especificar todos los ficheros que contienen la letra ``o'' en el
nombre de fichero, use la instrucción
Como puede ver, cada instancia de ``*'' es reemplazada con todas
las sustituciones que coinciden con los nombres de fichero del directorio
actual.
El uso de ``*'' sólo, simplemente coincide con todos los nombres de
fichero, porque todos los caracteres coinciden con el comodín.
Aquí hay algunos ejemplos más:
El proceso de cambiar un ``*'' en una serie de nombres de fichero se llama
expansión de comodines y lo hace el intérprete de órdenes. Esto es importante:
una orden individual, como ls, nunca ve el ``*'' en su lista de
parámetros. El intérprete de órdenes expande el comodín para incluir todos los
nombres de fichero que coinciden. Así, la orden
es expandido por el intérprete de órdenes a
Una nota importante del comodín ``*'' : no ve las coincidencias de los nombres de fichero que empiezan con un único punto (``.''). Estos ficheros se tratan como ficheros ocultos -- aunque no están realmente escondidos, no aparecen en los listados normales con ls y no son afectados por el uso del comodín ``*''.
He aquí un ejemplo. Mencionamos antes que cada directorio contiene dos
entradas especiales: ``.'' se refiere al directorio actual, y
``..'' , que se refiere al directorio padre. Sin embargo, cuando usa
ls, estas dos entradas no se muestran.
Si usa el parámetro -a con ls, sin embargo, puede visualizar
los nombres de fichero que empiezan con ``.''. Observe:
El listado contiene las dos entradas especiales, ``.'' y ``..'', así como otros dos ficheros "ocultos"--.bash_profile
y .bashrc. Estos dos ficheros son ficheros de inicio usados por
bash cuando larry entra en el sistema. Se describen en
página .
Hay que fijarse en que cuando usa el comodín ``*'' , ninguno de los
nombres de fichero que empiezan por ``.'' son visualizados.
Esto es una característica de seguridad: si el comodín ``*'' tiene
coincidencias con nombres de fichero que empiezen por ``.'', también
tendría coincidencia con los nombres de directorios ``.'' y
``..''. Esto puede ser peligroso al usar ciertas órdenes.
Otro comodín es ``?''. El comodín ``?'' sólo se expande
a un carácter. Así, ``ls ?'' muestra todos los nombres
de fichero de un sólo carácter. Y ``ls termca?'' mostraría
``termcap'' pero no ``termcap.backup''. Aquí
hay otros ejemplos:
Como puede ver, los comodines le permiten especificar muchos ficheros
a la vez. En el sumario de órdenes que empieza en la página ,
dijimos que las órdenes cp y mv realmente pueden copiar o mover más
de un fichero a la vez. Por ejemplo,
copia todos los ficheros de /etc cuyo nombre empieza por ``s'' al
directorio /home/larry. El formato de la orden cp es realmente
donde ficheros lista los nombres de fichero a copiar, y destino
es el fichero o directorio destino.
La orden mv tiene una sintaxis idéntica.
Si está copiando o moviendo más de un fichero, el destino tiene que ser un directorio. Sólo puede copiar o mover un único fichero a otro fichero.