Tutorial del comando dmesg de Linux para principiantes (5 ejemplos)

¿Sabes que el núcleo de Linux carga varios controladores de dispositivo cuando el sistema arranca? De hecho, cuando tu sistema está en marcha y conectas un dispositivo de hardware, también se carga el controlador de dispositivo correspondiente. Por supuesto, el núcleo también hace muchas otras cosas. ¿Y si quieres saber información relacionada con estas actividades del núcleo?

Bueno, existe un comando -denominado dmesg- que puedes utilizar si quieres acceder a los mensajes que imprime el núcleo. En este tutorial, entenderemos cómo funciona la herramienta dmesg utilizando algunos ejemplos fáciles de entender.

El comando dmesg de Linux

El comando dmesg te permite imprimir o controlar el buffer del anillo del kernel. A continuación se muestra su sintaxis:

dmesg [options]

Y así es como lo explica la página man de la herramienta:

dmesg is used to examine or control the kernel ring buffer. The default action is to display all 
messages from the kernel ring buffer.

A continuación se presentan algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una mejor idea de cómo funciona el comando dmesg.

Q1. ¿Cómo utilizar el comando dmesg?

Puedes empezar a utilizar el comando dmesg sin ninguna opción en la línea de comandos.

dmesg

Por ejemplo, aquí tienes una pequeña parte de la salida que produjo el comando en mi caso:

Cómo utilizar el comando dmesg

Q2. ¿Cómo limitar la salida sólo a los errores y advertencias?

Si ejecutas dmesg en tu sistema, observarás que produce una gran cantidad de información. Dependiendo de lo que busques, es posible que quieras filtrar o limitar la salida. Por su parte, dmesg te ofrece esta posibilidad a través de «niveles». A continuación encontrarás la lista completa de niveles (junto con su explicación):

   emerg - system is unusable
   alert - action must be taken immediately
    crit - critical conditions
     err - error conditions
    warn - warning conditions
  notice - normal but significant condition
    info - informational
   debug - debug-level messages

Así, por ejemplo, si quieres limitar la salida a sólo errores y advertencias, puedes hacerlo de la siguiente manera:

dmesg --level=err,warn

En mi caso, ésta es una parte de la salida que produjo el comando anterior:

Cómo limitar la salida sólo a los errores y advertencias

Q3. ¿Cómo hacer que dmesg produzca marcas de tiempo en la salida?

A veces, puedes querer que se asocie una marca de tiempo a los mensajes que produce dmesg. Esto puede hacerse utilizando la opción de línea de comandos -T, que produce marcas de tiempo legibles para los humanos.

dmesg -T

A continuación se muestra un ejemplo de salida:

Cómo hacer que dmesg produzca marcas de tiempo en la salida

Para que puedas ver que una marca de tiempo está pre-fijada con cada mensaje.

Q4. ¿Cómo hacer que dmesg muestre información específica de un dispositivo?

Supón que quieres que dmesg sólo muestre información relacionada con la interfaz eth0. Así es como puedes hacerlo:

dmesg | grep -i eth0

A continuación se muestra un ejemplo de salida:

Cómo hacer que dmesg muestre información específica de un dispositivo

Q5. ¿Cómo hacer que dmesg muestre sólo los mensajes del espacio de usuario?

Si quieres limitar la salida de dmesg sólo a los mensajes del espacio de usuario, utiliza la opción de línea de comandos -u.

dmesg -u

Cómo hacer que dmesg muestre sólo los mensajes del espacio de usuario

Conclusión

De acuerdo, dmesg no es el tipo de comando que necesitarás todos los días. Pero es la herramienta a la que hay que recurrir cuando alguien (a quien has pedido ayuda sobre algún tema) te pide que le proporciones mensajes del núcleo. La mayoría de las veces he visto este caso en los foros de usuarios online, donde los usuarios experimentados piden la salida del kernel.

Aquí, en este tutorial, hemos hablado del comando dmesg desde el punto de vista de los principiantes (sólo para que empieces). Una vez que hayas terminado de practicar todo lo que hemos discutido aquí, dirígete a la página man de la herramienta.

También te podría gustar...