Skip to main content

Metacaracteres de Linux y sus significados

AMOR REAL episodio 200 -- Marie comenta que tiene dudas sobre que Manuel sea un Fuentes Guerra (Junio 2026)

AMOR REAL episodio 200 -- Marie comenta que tiene dudas sobre que Manuel sea un Fuentes Guerra (Junio 2026)
Anonim

Según Wikipedia, un metacarácter es cualquier carácter que tiene un significado especial, como un quilate (^), un signo de dólar ($) o un asterisco (*).

En términos de Linux, hay un buen número de estos metacaracteres y sus significados difieren según el comando o programa que esté ejecutando.

La parada completa como metacaracter (.)

El humilde punto final se usa para donar la posición actual cuando se ejecutan comandos como cd, find o sh, pero en aplicaciones como awk, grep y sed se usa para denotar cualquier carácter.

Como ejemplo, el siguiente comando buscará todos los archivos mp3 en la carpeta actual y debajo.

encontrar . -nombre * .mp3

Si ejecuta ese comando en el directorio de trabajo actual (pwd), es probable que obtenga los resultados devueltos, asumiendo que mantiene sus archivos mp3 en una carpeta de música dentro de su carpeta de inicio.

Ahora mira este comando:

ps -ef | grep f..efox

El comando ps muestra todos los procesos en ejecución en su computadora. El comando grep toma líneas de entrada y busca un patrón.

Por lo tanto, el comando ps -ef obtiene una lista de procesos en ejecución y le da a grep, que busca cualquier línea en la lista que tiene f..efox donde está. Puede significar cualquier personaje.

Si tienes Firefox funcionando obtendrás una coincidencia. Del mismo modo, si tiene un programa llamado fonefox o freefox en ejecución, también se devolverán.

El asterisco como metacarácter (*)

El asterisco es un metacarácter más conocido universalmente y se usa para significar 0 o más cuando se busca un patrón.

Por ejemplo:

encontrar . -nombre * .mp3

* .Mp3 devuelve una coincidencia para cualquier nombre de archivo que termine en .mp3. De manera similar, podría haber usado el asterisco con el comando grep como se muestra a continuación:

ps -ef | grep F * efox

Vale la pena señalar que esto difiere ligeramente porque el asterisco significa cero o más, así que, además de encontrar Firefox, Facefox y Fonefox, también puede encontrar Flutefox, Ferretfox e incluso solo Fefox.

El quilate como metacaracter (^)

El quilate (^) se utiliza para denotar el inicio de una línea o una cadena. Entonces, ¿cómo se utiliza?

El comando ls se usa para listar todos los archivos en una carpeta de la siguiente manera:

ls

Si desea conocer todos los archivos en una carpeta que comienza con una cadena determinada como "gnome", entonces puede utilizar el quilate para especificar esa cadena.

Por ejemplo:

ls | grep ^ gnome

Tenga en cuenta que esto solo lista los archivos que comienzan con gnome. Si desea archivos que tengan un gnomo en el nombre de archivo en cualquier lugar, volverá nuevamente al asterisco.

En el ejemplo anterior, ls devuelve una lista de nombres de archivos y pasa esa lista a grep, que se utiliza para la coincidencia de patrones. grep sabe que el símbolo de quilate significa encontrar cualquier cosa que comience con los caracteres que vienen después y, en este caso, es un gnomo.

El símbolo del dólar como metacarácter ($)

El símbolo del dólar puede tener múltiples significados como un metacarácter dentro de Linux.

Cuando se usa para hacer coincidir patrones, significa lo contrario a quilates y denota cualquier patrón que termine con una cadena en particular.

Por ejemplo:

ls | grep png $

Esto lista todos los archivos que terminan con png.

El símbolo de dólar también se usa para acceder a las variables de entorno dentro del shell bash.

Por ejemplo:

export dog = mollyecho $ dog

La línea export dog = molly crea una variable de entorno llamada dog y establece su valor en molly. Para acceder a la variable de entorno se usa el símbolo $. Con el símbolo $, la declaración echo $ dog muestra molly, pero sin él, la declaración echo dog solo muestra la palabra dog.

Metacaracteres de escape

A veces no quieres que el metacarácter tenga un significado especial. Qué sucede si tiene un archivo llamado f.refox y un archivo llamado firefox.

Ahora mira el siguiente comando:

ls | grep f.refox

¿Qué crees que se devuelve? Tanto f.refox como firefox se devuelven porque ambos coinciden con el patrón.

Para devolver solo f.refox, deberías escapar de la parada completa para realmente significar una parada completa de la siguiente manera:

ls | grep f . refox

Metacaracteres comunes y sus significados

Lista de metacaracteres de Linux
PersonajeSentido
.Cualquier personaje
*Cero o mas personajes
^Haga coincidir cualquier línea o cadena que comience con un patrón (es decir, ^ gnome)
$Haga coincidir cualquier línea o cadena que termine con un patrón (es decir, gnome $)
Escapa del siguiente personaje para eliminar su significado especial.
Haga coincidir uno de una lista o rango (es decir, "abc", "def" o 1..9
+Coincidir con uno o más anteriores (es decir, grep a +)
?Match cero o uno precedente