Comando dmesg - Visualizar o log do buffer do Kernel do Linux
Tabla de contenido:
- Usando el comando
dmesg dmesgsalidadmesg- Salida de
dmesgfiltrado - Despejando el anillo de búfer
- Conclusión
El kernel de Linux es el núcleo del sistema operativo que controla el acceso a los recursos del sistema, como CPU, dispositivos de E / S, memoria física y sistemas de archivos. El núcleo escribe varios mensajes en el búfer del anillo del núcleo durante el proceso de arranque y cuando el sistema se está ejecutando. Estos mensajes incluyen diversa información sobre el funcionamiento del sistema.
El búfer de anillo del núcleo es una parte de la memoria física que contiene los mensajes de registro del núcleo. Tiene un tamaño fijo, lo que significa que una vez que el búfer está lleno, se sobrescriben los registros de registros más antiguos.
La utilidad de línea de comandos
dmesg
se utiliza para imprimir y controlar el búfer de anillo del núcleo en Linux y otros sistemas operativos similares a Unix. Es útil para examinar los mensajes de arranque del núcleo y depurar problemas relacionados con el hardware.
En este tutorial, cubriremos los conceptos básicos del comando
dmesg
.
Usando el comando
dmesg
La sintaxis para el comando
dmesg
es la siguiente:
dmesg
Cuando se invoca sin ninguna opción,
dmesg
escribe todos los mensajes del búfer de anillo del núcleo en la salida estándar:
dmesg
Por defecto, todos los usuarios pueden ejecutar el comando
dmesg
. Sin embargo, en algunos sistemas, el acceso a
dmesg
puede estar restringido para usuarios no root. En esta situación, al invocar
dmesg
, recibirá un mensaje de error como el siguiente:
dmesg: read kernel buffer failed: Operation not permitted
El parámetro del kernel
kernel.dmesg_restrict
especifica si los usuarios sin privilegios pueden usar
dmesg
para ver los mensajes del búfer de registro del kernel. Para eliminar las restricciones, configúrelo en cero:
sudo sysctl -w kernel.dmesg_restrict=0
Por lo general, la salida contiene muchas líneas de información, por lo que solo se puede ver la última parte de la salida. Para ver una página a la vez, canalice la salida a una utilidad de buscapersonas, como
less
o
more
:
dmesg --color=always | less
--color=always
se usa para preservar la salida coloreada.
dmesg | grep -i usb
dmesg
lee los mensajes generados por el núcleo del archivo virtual
/proc/kmsg
. Este archivo proporciona una interfaz para el búfer de anillo del núcleo y solo se puede abrir mediante un proceso. Si el proceso de
syslog
se está ejecutando en su sistema e intenta leer el archivo con
cat
, o
less
, el comando se bloqueará.
El demonio
syslog
volca los mensajes del núcleo a
/var/log/dmesg
, por lo que también puede usar ese archivo de registro:
dmesg
salida
dmesg
El comando
dmesg
proporciona una serie de opciones que lo ayudan a formatear y filtrar la salida.
Una de las opciones más utilizadas de
dmesg
es
-H
(
--human
), que permite la salida legible por humanos. Esta opción canaliza la salida del comando a un localizador:
dmesg -H
Para imprimir marcas de tiempo legibles por humanos, use la opción
-T
(
--ctime
):
dmesg -T
IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
El formato de las marcas de tiempo también se puede configurar con el
--time-format
dmesg --time-format=delta
También puede combinar dos o más opciones:
dmesg -H -T
Para ver la salida del comando
dmesg
en tiempo real, use la opción
-w
(
--follow
):
Salida de
dmesg
filtrado
Puede restringir la salida de
dmesg
a instalaciones y niveles dados.
La instalación representa el proceso que creó el mensaje.
dmesg
admite las siguientes instalaciones de registro:
-
kern-usermensajes de kernel -mailmensajes de nivel de usuario -daemonsistema de correo -authdemonios del sistema - mensajes de seguridad / autorizaciónsyslog- mensajes syslogd internoslpr-newssubsistema de impresora de línea - subsistema denewsred
El
-f
(
--facility
) le permite limitar la salida a instalaciones específicas. La opción acepta una o más instalaciones separadas por comas.
Por ejemplo, para mostrar solo los mensajes del núcleo y los demonios del sistema que usaría:
dmesg -f kern, daemon
Cada mensaje de registro está asociado con un nivel de registro que muestra la importancia del mensaje.
dmesg
admite los siguientes niveles de registro:
-
emerg- el sistema está inutilizablealert- la acción debe tomarse inmediatamente crítica - las condiciones críticascrit- las condiciones de errorwarn- aviso de condiciones de advertencia - información de condición normal pero significativa -debuginformativa - mensajes de nivel de depuración
El
-l
(
--level
) la opción restringe la salida a niveles definidos. La opción acepta uno o más niveles separados por comas.
El siguiente comando muestra solo el error y los mensajes críticos:
Despejando el anillo de búfer
La opción
-C
(
--clear
) le permite borrar el búfer de anillo:
sudo dmesg -C
Solo los usuarios root o usuarios con privilegios de sudo pueden borrar el búfer.
Para imprimir el contenido del búfer antes de borrar, use la opción
-c
(
--read-clear
):
sudo dmesg -c
Conclusión
El comando
dmesg
permite ver y controlar el búfer de anillo del núcleo. Puede ser muy útil al solucionar problemas de kernel o hardware.
Escriba
man dmesg
en su terminal para obtener información sobre todas las opciones de
dmesg
disponibles.
Comando Chmod en Linux (permisos de archivo)
En Linux, el acceso a los archivos se gestiona a través de los permisos, atributos y propiedad del archivo. Este tutorial cubre cómo usar el comando chmod para cambiar los permisos de acceso de archivos y directorios.
Comando chgrp en linux (cambiar grupo)
En Linux, cada archivo está asociado con un propietario y un grupo y tiene permisos que determinan qué usuarios pueden leer, escribir o ejecutar el archivo. El comando chgrpc cambia la propiedad del grupo de los archivos dados.
Comando cp en linux (copiar archivos)
cp es una utilidad de línea de comandos para copiar archivos y directorios en sistemas Unix y Linux.







