dmesg

dmesg es un comando que, al ser ejecutado, nos muestra en el terminal una lista con los mensajes del kernelEl kernel es el núcleo del sistema operativo. Es la primera parte del sistema operativo que se carga en memoria cuando el ordenador arranca, y controla prácticamente todo en el sistema. Los numerosos mensajes generados por el kernel que aparecen en la pantalla cuando el ordenador arranca muestran los dispositivos de hardware que el kernel detecta e indica si es capaz de configurarlos. dmesg incluye los mensajes que aparecen durante el arranque del ordenador más otros que se van generando durante su funcionamiento. Cuando algo no funciona correctamente en nuestro sistema la información ofrecida por dmesg puede ser clave para solucionar el problema.

La forma más simple de usar dmesg es escribir:

dmesg

Pero la cantidad de mensajes generada puede resultarnos excesiva. Existen varias formas de filtrar la información.

Podemos usar dos opciones de dmesg llamadas facility y level. Vamos a verlo con un ejemplo: Queremos que aparezcan solamente los mensajes de error y de advertencia (warning). Para ello usaremos la opción level. Escribiremos:

dmesg --level=err,warn

o bien:

dmesg -l err,warn

Para saber que a que información podemos acceder con facility y level podemos consultar la ayuda de dmesg con la opción help:

dmesg --help

Otra forma de filtrar los mensajes es usando el comando grep. Por ejemplo, queremos obtener solamente los mensajes relativos a dispositivos usb. Escribiremos:

dmesg | grep -i usb

Lo  que hará está línea será, primero ejecutar dmesg,  luego pasará el resultado al comando grep, que buscará todos los mensajes en los que aparezca usb y los mostrará en la pantalla.

También puede resultanos interesante acceder solamente a los últimos mensajes generados. Para ello escribiremos:

dmesg | tail

Finalmente si queremos obtener un archivo de texto con la información generada por dmesg podemos escribir:

dmesg > mensajes_del_kernel