Ordenadores y Portátiles
Wildcard
Wildcard

¿Qué son las Wildcard en Linux?

Siguiendo con nuestro artículo sobre Linux, hablaremos de las Wildcard y para lo que sirven. Las Wildcard son realmente útiles cuando quieres realizar una operación en un grupo de ficheros. Al igual que en una ventana de de MSDOS en el sistema de Microsoft Windows, si quieres borrar todos los ficheros que empiezan con “pal” y terminan con “txt”, se puede usar el carácter de asterisco para poder realizar esta tarea. El comando sería algo así: rm pal*txt para poder borrar este tipo de ficheros (el comando rm es usado para borrar, aunque solo se está poniendo de ejemplo). Lo que hace el asterisco * es decirle al shell de Linux que encuentre cualquier fichero que empiece con “pal” y que termine con “txt” independientemente del número de caracteres entre ellos. Incluso encontrará ficheros son caracteres entre estos dos términos, como por ejemplo “paltxt” . Por tanto, un fichero que se llama pal234.txt será también eliminado.

Como ya habrás supuesto, el asterisco es  un Wildcard dentro de Linux, y existen algunos más. Un Wildcard más restrictivo es el signo de interrogación, el cual realiza coincidencias con cualquier carácter único. Un ejemplo de esto podría ser el comando siguiente: rm pal-3?.txt el cual borra borrará ficheros como pal-31.txt o pal-32.txt pero no lo hará con ficheros del tipo pal-38cf.txt. Es decir, que solamente apuntará a un solo carácter que vaya después de donde hayamos puesto el símbolo de interrogación. Otro ejemplo puede ser rm pal-555.???, el cual borrará ficheros como pal-31.txt.txt o pal-31.mpg pero no ficheros con más o menos caracteres, como por ejemplo pal-31.db. Lo importantes es coger la idea de lo que hacen estos símbolos. La mejor manera es practicar con tu distribución de Linux.


Cuando se usan Wildcards, la shell encuentra todas las coincidencias en los ficheros que existen en el sistema, y expande el comando a todo lo que contenga la carpeta donde estamos trabajando (o a donde estemos apuntando el comando). Por ejemplo, si tecleamos el comando rm pal-33.* lo que hará es borrar todos los archivos con este nombre, independientemente de las terminaciones que tenga.

La shell de bash (la que aconsejamos para los que están empezando), recuerda los comandos que has tecleado recientemente, por lo que los puedes volver a usar de una forma sencilla. Si tecleas la flecha de arriba,  bash nos devuelve el contenido del comando previo en la línea de comandos. Si jugamos con las demás teclas, iremos navegando a través del historial de comandos. Se puede incluso modificar los comandos que van saliendo con las flechas izquierda y derecha, como también añadir y borrar caracteres antes de presionar “enter” para ejecutar el comando.

Otra funcionalidad que le encantará a los que nos les gusta mucho teclear, es el resumen de comandos. Digamos que tienes un directorio que contiene varios ficheros con los nombres siguientes:

radio-head
judas-priest
rage-against-the-machine

Si por el motivo que sea queremos borrar (o hacer cualquier otra cosa) con el tercer fichero que hemos puesto de ejemplo, tecleando simplemente rm rage y luego pulsando el tabulador, hará que mágicamente nos aparezca el comando rm rage-against-the-machine, lo cual nos habrá ahorrado tener que teclear todo el nombre del fichero. Lo que hace la shell es mirar lo que has tecleado y luego lo verifica para ver si hay algún único fichero que empieza con esos caracteres. Si hay alguno, la shell termina lo que ibas a teclear poniéndolo por ti. Si no existe ese fichero, no pasa nada. So hay varios ficheros que coinciden, sonará un beep. Se puede pulsar el tabulador dos veces y ver todas las coincidencias, o simplemente seguir tecleando el comando manualmente. La verdad es que es una función muy cómoda y que nos puede ahorrar mucho tiempo cuando estamos trabajando.

En la siguiente parte del artículo hablaremos de los alias, las redirecciones y otras cosas que debemos saber cuando estamos usando un sistema Linux. Lo puedes ver pulsando aquí.

Leer mas artículos relacionados