Contenido del curso
Archivos y directorios
Busqueda en la terminal
Funcionamiento de la terminal
Sistema operativo
- 14

Permisos de archivos en Linux con chmod
12:53 min - 15

Variables de entorno en Bash explicadas
08:27 min - 16

Uso de APT para gestionar paquetes en Linux
07:36 min - 17

Homebrew: gestor de paquetes para Mac
07:22 min - 18

Foreground y background en la terminal
06:39 min - 19

Cómo identificar y matar procesos en Linux
13:01 min
Utilidades del sistema
Bonus: Trucos y consejos extras
Wildcards en la terminal para filtrar archivos
Resumen
Dominar los wildcards en la terminal se siente como tener superpoderes: en lugar de listar archivos uno por uno, usas comodines para que comandos como ls, cp, mv o rm actúen sobre grupos enteros que coincidan con un patrón. Aprenderás a usarlos con ejemplos reales y a evitar errores que pueden borrar más de lo que querías.
¿Qué es un wildcard y para qué sirve en la línea de comandos?
Un wildcard es un carácter especial que funciona como comodín para hacer match con nombres de archivos según un patrón. No funciona con todos los comandos, pero sí con los más usados del día a día: ls, cp, mv, rm, cat, head, tail y grep [1:00].
La idea es simple: en vez de escribir cada archivo, le describes a la terminal qué forma tienen los nombres que buscas y ella se encarga de encontrarlos.
¿Qué es un wildcard? Es un carácter comodín como
*,?,[ ]o{ }que reemplaza partes del nombre de un archivo para que un comando actúe sobre todos los que coincidan con ese patrón.
¿Cómo preparar el entorno para practicar wildcards?
Antes de probar, conviene crear una carpeta de pruebas con varios archivos de distintas extensiones. El profesor sugiere usar mkdir wildcards, entrar a la carpeta y ejecutar una línea con touch que genera archivos como file1.txt, file2.txt, fileA.txt, fileB.md, data.log y un .csv [2:10].
Con ls -la confirmas que todos los archivos existen y ya tienes material variado para empezar a filtrar.
¿Cómo usar el asterisco para hacer match con todo?
El asterisco * representa cualquier cantidad de caracteres, incluido ninguno. Es el wildcard más potente y el que más vas a usar.
Si quieres listar todos los archivos .txt, no necesitas escribirlos uno por uno: basta con ls *.txt y la terminal te muestra file1.txt, file2.txt, file3.txt, etc. [3:30]. También puedes filtrar por inicio del nombre: ls file* te devuelve cualquier archivo que empiece con file, sin importar su extensión.
*.txtbusca cualquier nombre que termine en.txt.file*busca cualquier archivo que empiece con file.*data*busca cualquier nombre que contenga data en el medio.
¿Cómo limitar el match a un solo carácter con el signo de interrogación?
El signo ? hace match con exactamente un carácter. Es ideal cuando los nombres son casi iguales y solo cambia una letra o número.
Si creas un archivo extra llamado filelargo.txt y ejecutas ls -la file?.txt, la terminal te devuelve solo file1.txt, file2.txt y fileA.txt, porque al final tienen un único carácter antes del punto [4:50]. filelargo.txt queda fuera porque tiene varios caracteres después de file.
¿Cuándo uso
?en vez de*? Usa?cuando sepas que falta exactamente un carácter. Usa*cuando la parte variable pueda tener cualquier longitud, incluso vacía.
¿Cómo agrupar caracteres y patrones con corchetes y llaves?
Los wildcards se vuelven realmente poderosos cuando los combinas con grupos. Aquí entran dos herramientas distintas: los corchetes [ ] para caracteres y las llaves { } para palabras o extensiones completas.
¿Qué hacen los corchetes [ ] en un patrón?
Los corchetes te permiten listar opciones de un solo carácter dentro del nombre. Por ejemplo, ls -la *[AB] lista todos los archivos que terminan en A mayúscula o B mayúscula, sin importar su extensión [6:00].
Recuerda que la terminal distingue entre mayúsculas y minúsculas, así que [a] y [A] no son lo mismo. También puedes pedir patrones más complejos como *[o].* para encontrar archivos cuyo nombre termine con la letra o antes del punto, sin importar la extensión.
¿Cómo usar las llaves { } para múltiples extensiones?
Cuando quieres agrupar palabras o extensiones completas, usas llaves. Por ejemplo, ls -la *.{md,log} te devuelve todos los archivos que terminan en .md o .log, como data.log y fileB.md [7:40].
La diferencia clave: corchetes son para caracteres sueltos, llaves son para cadenas completas separadas por coma.
¿Cómo combinar wildcards con cp, mv y rm para mover o borrar en masa?
Los wildcards no se limitan a ls. Su verdadero valor aparece cuando los usas con comandos que modifican archivos. Imagina que creas una carpeta de respaldo con mkdir backup y ejecutas mv *.txt backup: en un solo paso mueves todos los .txt al nuevo directorio [9:00].
Puedes hacer lo mismo con cp para copiar grupos de archivos o con rm para eliminarlos. Y aquí viene la advertencia importante: un rm *.txt ejecutado en la carpeta equivocada puede borrar mucho más de lo que esperabas. Antes de ejecutar un borrado masivo, verifica con un ls que el patrón solo selecciona lo que realmente quieres eliminar.
- Verifica siempre con
lsantes de borrar conrm. - Asegúrate de estar en la carpeta correcta con
pwd. - Empieza con patrones específicos antes de pasar a comodines amplios.
¿Los wildcards funcionan igual en todas las shells?
No siempre. La mayoría de los ejemplos vistos corren en Bash, pero existen otras shells muy usadas como Zsh, donde algunos wildcards pueden interpretarse distinto o requerir configuración extra [10:30].
Si cambias de terminal y un patrón deja de funcionar, no asumas que está mal escrito: revisa qué shell estás usando y consulta su documentación. Cada shell tiene su propia forma de leer estos comodines.
¿Cuál de estos wildcards te parece más útil para tu flujo diario en la terminal? Cuéntame en los comentarios qué patrones usas tú.