Expansión del shell y globbing
Comprenda cómo el shell expande los comandos, incluida la expansión de llaves, la expansión de la tilde y los patrones de globbing de nombres de archivo.
Expansión del shell y globbing es una lección gratuita de Linux Command Line & Bash Scripting Mastery en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Command Line & Bash Scripting Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Command Line & Bash Scripting Mastery incluye 4 lecciones en total.
¿Qué es la expansión del shell?
En Linux, el shell actúa como un traductor entre usted y el sistema operativo. Antes de ejecutar su comando, el shell suele realizar una especie de «magia» llamada expansión.
La expansión del shell consiste en que el shell busca caracteres especiales o patrones en su comando y los sustituye por otra cosa. Esto ocurre antes de que el comando se ejecute realmente, lo que le ahorra escritura y hace que los comandos sean más potentes.
Su directorio personal con la tilde `~`
La expansión de la tilde (~) es un atajo muy práctico. Se expande automáticamente al directorio personal del usuario actual.
En lugar de escribir /home/yourusername, puede usar simplemente ~. Esto resulta especialmente útil para desplazarse por los archivos de su carpeta personal o hacer referencia a ellos.
echo ~
echo ~/DocumentsLa tilde para otros usuarios
La tilde no sirve únicamente para su propio directorio personal. También puede usarla para hacer referencia al directorio personal de otro usuario.
Al escribir ~username, el shell lo expandirá al directorio personal del «username» especificado. Esto resulta ideal para acceder a archivos o configuraciones compartidos.
~rootse expandiría a/root~guestse expandiría a/home/guest
Expansión de llaves `{}`
La expansión de llaves permite generar cadenas arbitrarias. Es una forma rápida de crear varios elementos a partir de un único patrón sin tener que escribirlos todos.
El shell expandirá el contenido incluido entre las llaves {} en una lista de palabras independientes. Esto resulta muy útil para crear archivos o directorios con nombres similares, o para ejecutar comandos en varios elementos.
echo {apple,banana,cherry}Rangos con llaves
También puede usar la expansión de llaves para generar secuencias de números o letras. Para ello, se utilizan dos elementos separados por .. dentro de las llaves.
El shell generará todos los elementos de la secuencia, lo que facilita crear archivos o directorios numerados, o iterar por un conjunto de valores.
echo file_{1..3}.txt
echo {a..c}_report.logIntroducción al globbing
El globbing es la forma que tiene el shell de hacer coincidir nombres de archivo y rutas mediante caracteres comodín especiales. Es como usar un «patrón de búsqueda» para encontrar archivos.
Cuando escribe un comando como ls *.txt, el shell no envía *.txt a ls. En su lugar, expande *.txt a una lista de todos los archivos coincidentes del directorio actual y, después, pasa esa lista a ls.
Coincidir con todo mediante `*`
El asterisco (*) es el comodín más habitual. Coincide con cero o más caracteres de un nombre de archivo.
Puede usarlo para hacer coincidir cualquier secuencia de caracteres, lo que lo hace muy versátil para seleccionar archivos según partes de sus nombres.
mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_testCoincidir con uno mediante `?`
El comodín signo de interrogación (?) coincide con exactamente un carácter.
Esto resulta útil cuando conoce la longitud exacta de la parte del nombre de archivo que desea hacer coincidir, pero no el carácter concreto.
mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_testCaracteres específicos `[]`
Puede usar corchetes ([]) para hacer coincidir cualquier carácter individual de un conjunto de caracteres especificado.
Esto permite realizar coincidencias más precisas que con ?. Puede indicar caracteres individuales o especificar un rango (por ejemplo, [a-z] para cualquier letra minúscula, [0-9] para cualquier dígito).
mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_testCombinaciones de globbing
Puede combinar distintos patrones de globbing e incluso la expansión de llaves para seleccionar archivos de forma avanzada.
El shell procesa estas expansiones de izquierda a derecha, creando patrones complejos que coinciden exactamente con lo que necesita.
mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_testComprobación rápida
¿Cuál de los siguientes comandos mostrará una lista de los archivos llamados report1.doc, report2.doc y report3.doc, pero NO reportA.doc?
Resumen y próximos pasos
¡Excelente trabajo! Ha aprendido cómo el shell expande los comandos incluso antes de ejecutarlos. Esta «magia» hace que trabajar en la línea de comandos sea mucho más eficiente.
- Expansión de la tilde (
~): un atajo para los directorios personales. - Expansión de llaves (
{}): genera cadenas o secuencias personalizadas. - Globbing (
*,?,[]): hace coincidir nombres de archivo mediante comodines para seleccionar elementos según patrones de forma avanzada.
Comprender estas expansiones es fundamental para escribir comandos eficaces y concisos. ¡Siga practicándolas!
Preguntas frecuentes
¿La lección «Expansión del shell y globbing» es gratis?
Sí — el texto completo de «Expansión del shell y globbing» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Command Line & Bash Scripting Mastery, actualiza a CoddyKit PRO. El curso de Linux Command Line & Bash Scripting Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Expansión del shell y globbing»?
Comprenda cómo el shell expande los comandos, incluida la expansión de llaves, la expansión de la tilde y los patrones de globbing de nombres de archivo. Practicas Linux Command Line & Bash Scripting Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Command Line & Bash Scripting Mastery?
No se requiere experiencia previa. Linux Command Line & Bash Scripting Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Expansión del shell y globbing»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Command Line & Bash Scripting Mastery?
Sí. Cada lección de Linux Command Line & Bash Scripting Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Control de trabajos (bg, fg, jobs)
- Expansión del shell y globbing
- Alias y prompts personalizados
- Funciones de shell y fragmentos reutilizables