Comandos LinuxExplicados en español
/
Ficha84 / 104
Categoría
Sistema
Ejemplos
6
Ver también
systemctl · top · ps

journalctl

journal control (control del registro del sistema)

Consulta los registros (logs) que escriben systemd y los servicios.

Lee el journal, que es el registro donde systemd guarda lo que dice el sistema al arrancar y lo que escribe cada servicio (SSH, nginx, Docker). Lo usas cuando un servicio no levanta y necesitas ver el error que soltó, o cuando buscas un mensaje concreto de hace un rato.

Sintaxisjournalctl [opciones] [UNIDAD]
Precaución

Las opciones --vacuum-size, --vacuum-files y --vacuum-time borran archivos de registro antiguos. Si te equivocas de fecha o de tamaño, pierdes justo el historial que necesitabas para investigar. Revisa primero cuánto ocupa con journalctl --disk-usage y qué arranques hay guardados con journalctl --list-boots.

§ 1

Despiece

6 ejemplos
Ver los últimos mensajes

Ver los últimos mensajes

4 piezas
Lámina01 / 06
Comandojournalctl -n 50 --no-pager
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1journalctlComandoEl comando que lee el registro del sistema.
2-nOpciónLimita la cantidad de líneas que se muestran.
350ValorLas últimas 50 líneas del registro.
4--no-pagerOpciónImprime la salida de corrido, sin abrir el paginador less.
Resultado

Ves las últimas 50 líneas del registro, de la más antigua a la más reciente. Con --no-pager la salida no se abre en less, que es lo que pasa cuando la mandas a otro comando o la revisas dentro de un script.

Ver los mensajes de un servicio

5 piezas
Lámina02 / 06
Comandojournalctl -u ssh.service -n 50
Piezas5
Escala1:1
N.ºPiezaTipoQué hace
1journalctlComandoEl comando que lee el registro del sistema.
2-uOpciónFiltra por unidad, que es como systemd llama a cada servicio.
3ssh.serviceValorEl servicio que quieres revisar. El nombre del archivo .service que usa systemd.
4-nOpciónLimita la cantidad de líneas que se muestran.
550ValorLas últimas 50 líneas del registro.
Resultado

Solo los mensajes del servicio indicado, con su hora y el proceso que los escribió. Es el primer comando para diagnosticar algo que no arranca. Si aparece -- No entries --, el servicio nunca llegó a escribir nada: quizá ni siquiera arrancó.

Ver los mensajes en vivo

2 piezas
Lámina03 / 06
Comandojournalctl -f
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1journalctlComandoEl comando que lee el registro del sistema.
2-fOpciónSigue el registro: se queda esperando y muestra cada línea nueva conforme aparece.
Resultado

La terminal se queda esperando. Lo dejas corriendo, repites la acción que falla (conectarte por SSH, reiniciar el servicio, abrir la página) y ahí aparece el error. Sales con Ctrl+C.

Buscar los errores del arranque actual

5 piezas
Lámina04 / 06
Comandojournalctl -p err -b --no-pager
Piezas5
Escala1:1
N.ºPiezaTipoQué hace
1journalctlComandoEl comando que lee el registro del sistema.
2-pOpciónFiltra por nivel de gravedad del mensaje.
3errValorNivel error. journalctl incluye ese nivel y todos los más graves: emerg, alert, crit y err.
4-bOpciónSolo lo que se escribió en el arranque actual de la máquina.
5--no-pagerOpciónImprime la salida de corrido, sin abrir el paginador less.
Resultado

Solo los mensajes que el sistema marcó como error o algo peor desde que arrancó la máquina. Es el atajo para entender por qué algo quedó mal después de reiniciar, sin leer miles de líneas.

Ver los mensajes del kernel

4 piezas
Lámina05 / 06
Comandojournalctl -k -n 20
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1journalctlComandoEl comando que lee el registro del sistema.
2-kOpciónFiltra por el registro del kernel, donde está lo que el sistema dice del hardware.
3-nOpciónLimita la cantidad de líneas que se muestran.
420ValorSolo las últimas 20 líneas, porque el kernel escribe harto.
Resultado

Lo que dijo el kernel: discos y particiones detectados, tarjeta de red levantada, errores de memoria, avisos de hardware. Es lo mismo que muestra el comando dmesg, pero con fecha y hora legibles.

Ver lo que pasó en la última hora

4 piezas
Lámina06 / 06
Comandojournalctl --since "1 hour ago" --no-pager
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1journalctlComandoEl comando que lee el registro del sistema.
2--sinceOpciónFiltra por fecha: solo lo escrito a partir del momento que sigue.
3"1 hour ago"ValorEl momento a partir del cual quieres ver, entre comillas para que la terminal no lo parta. journalctl entiende palabras como "1 hour ago", today o 09:00, y también fechas como 2026-10-01.
4--no-pagerOpciónImprime la salida de corrido, sin abrir el paginador less.
Resultado

Todo lo que se registró en la última hora. Sirve cuando algo pasó hace rato y quieres ver el contexto sin buscar línea por línea.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-f--followSe queda esperando y muestra lo que se escribe en vivo, como tail -f. Sales con Ctrl+C.
-u UNIDAD--unitFiltra por un servicio. Cada servicio en systemd es una unidad, por eso el nombre suele terminar en .service.
-n N--linesMuestra solo las últimas N entradas. Si le pones un + adelante (-n +20) muestra las 20 más antiguas.
-p NIVEL--priorityFiltra por gravedad: emerg, alert, crit, err, warning, notice, info o debug. Muestra ese nivel y todos los más graves.
-b--bootFiltra por arranque. A secas es el arranque actual; con -b -1 ves el anterior.
--sinceMuestra solo lo que se escribió a partir de cierta fecha o hora, en palabras o en formato de fecha: "1 hour ago", today, 09:00 o 2026-10-01.
-k--dmesgMuestra solo el registro del kernel: detección de discos, tarjetas de red, memoria y errores del hardware.
--no-pagerNo abre la salida en el paginador less, aunque la respuesta sea larga. Útil dentro de scripts.
§ 3

Fallas comunes

FallaRemedio
Quedarse pegado en la salida larga sin saber cómo salir.Cuando el registro no cabe en la pantalla, journalctl lo abre en el paginador less. Sales con la tecla q; con espacio bajas una página, con b subes y con las flechas te mueves línea por línea. Para que no se abra, agrega --no-pager.
Ver el aviso de que no estás viendo mensajes de otros usuarios.Aparece el Hint: You are currently not seeing messages from other users and the system cuando tu usuario no está en los grupos adm o systemd-journal, que son los que pueden leer todo el registro. Usa sudo journalctl, o agrega tu usuario a systemd-journal (solo da permiso de leer el registro) con sudo usermod -aG systemd-journal $USER y vuelve a iniciar sesión.
Buscar los registros en /var/log con cat y no encontrar nada legible.Con systemd el registro está en el journal, un formato binario dentro de /var/log/journal, y no se abre con cat: se lee con journalctl. Los archivos de texto como /var/log/syslog solo existen si hay un servicio como rsyslog: Ubuntu 24.04 lo trae instalado, pero Debian 12 y 13 ya no.
Correr journalctl -f esperando que se guarde en un archivo.-f solo muestra en pantalla, no guarda nada. Para guardar la salida redirígela: journalctl -f > /tmp/mi-servicio.log. Igual hay que detenerlo con Ctrl+C para que cierre el archivo.
§ 4

Preguntas frecuentes

¿Qué es journalctl?
Es el comando que lee el journal de systemd, el registro centralizado donde el sistema anota lo que pasa al arrancar y lo que dice cada servicio. En Debian 12 y 13 sustituye a los archivos de texto como /var/log/syslog; Ubuntu 24.04 todavía guarda también ese archivo, pero journalctl lee todo desde un solo lugar.
¿Cómo veo los logs de un servicio con journalctl?
Con journalctl -u nombre-del-servicio, por ejemplo journalctl -u ssh.service. Para verlos mientras pasa, agrega -f; para quedarte con las últimas líneas, -n 50. Si no sabes el nombre exacto, búscalo con systemctl list-units --type=service.
¿Cómo veo los logs del arranque anterior?
Con journalctl -b -1, porque el -1 cuenta un arranque hacia atrás. Para ver qué arranques hay guardados usa journalctl --list-boots: lista el número, el identificador y la fecha de cada uno.
¿Qué significa el aviso de You are currently not seeing messages from other users?
Que solo estás viendo el registro de tu usuario y no el del sistema. Pasa cuando tu usuario no pertenece a los grupos adm o systemd-journal. Usa sudo journalctl para verlo todo, o agrega tu usuario al grupo systemd-journal (o adm) y vuelve a iniciar sesión para que el cambio aplique.
¿Qué son las prioridades (priorities) de journalctl?
Es el nivel de gravedad de cada mensaje: 0 emerg, 1 alert, 2 crit, 3 err, 4 warning, 5 notice, 6 info y 7 debug. Con -p eliges un piso: journalctl -p err muestra err y todo lo más grave; journalctl -p warning además incluye los avisos. También puedes usar el número: -p 3 es igual a -p err.
§ 5

Ver también