De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 17 de junho de 2026
O journalctl é uma das ferramentas mais importantes e poderosas para a administração de sistemas Linux modernos. Ele é o canivete suíço para investigar erros, monitorar serviços e entender exatamente o que está acontecendo por baixo dos panos do sistema operacional.
Abaixo, você confere o guia completo sobre o journalctl: sua história, a revolução que ele trouxe e um manual prático com os principais comandos para o seu dia a dia.
Para entender o journalctl, precisamos entender o systemd.
Historicamente, os sistemas Linux utilizavam um sistema de inicialização antigo chamado SysVinit (ou Upstart) e um serviço de logs chamado syslogd (ou rsyslog).
O Velho Problema dos Logs em Texto Puro
No modelo antigo, os logs do sistema eram espalhados em vários arquivos de texto puro dentro do diretório /var/log/ (como /var/log/syslog, /var/log/auth.log, /var/log/boot.log). Esse formato tinha problemas graves:
A Solução: O Journald
Quando o systemd foi introduzido para gerenciar o ecossistema do Linux, os desenvolvedores criaram o `systemd-journald. Em vez de arquivos de texto espalhados, o journald centralizou todas as mensagens do sistema (kernel, serviços em segundo plano, mensagens de boot e erros de aplicativos) em um banco de dados binário indexado.
Como esse banco é binário, você não pode abri-lo com um editor de texto comum como o vim, nano ou o cat. É aí que entra o journalctl: ele é a ferramenta oficial de linha de comando criada exclusivamente para consultar, filtrar e extrair informações desse banco de dados de forma ultra-rápida.
Como o journalctl acessa dados sensíveis do sistema e de outros usuários, a maioria dos comandos abaixo exige privilégios de administrador (sudo).
1. O Básico do Básico
Se você digitar apenas o comando puro, ele abrirá o histórico completo de logs do seu computador, desde o primeiro registro salvo:
$ sudo sudo journalctl
Navegação: Use as setas do teclado para rolar. Pressione q para sair.
Se você quiser ver as mensagens mais recentes primeiro (o fim do arquivo), adicione a flag -e (end):
$ sudo sudo journalctl -e
2. Monitoramento em Tempo Real (O substituto do tail -f)
Se você está testando um programa ou esperando um erro acontecer e quer ver as linhas de log surgindo na tela em tempo real, use a flag -f (follow):
$ sudo journalctl -f
3. Filtrando Logs por Serviço (O mais utilizado)
Esta é a função mais útil do journalctl. Se você quer investigar o comportamento de um serviço específico do systemd (como o Apache, o Docker, o SSH, ollama), use a flag -u (unit):
$ sudo journalctl -u ollama.service
Você pode combinar com o -f para monitorar o serviço em tempo real: sudo journalctl -u ollama.service -f
4. Filtrando por Tempo e Data
Diga adeus ao uso do grep para achar datas em arquivos de texto. O journalctl entende expressões de tempo em inglês de forma nativa:
Ver logs desde ontem:
$ sudo journalctl --since yesterday
Ver logs de um horário específico até agora:
$ sudo journalctl --since "2026-06-15 14:00:00"
Ver logs gerados nos últimos 10 minutos:
$ sudo journalctl --since "10m ago"
Combinando início e fim (Janela de tempo):
$ sudo journalctl --since "2 hours ago" --until "30 minutes ago"
5. Filtrando por Importância (Níveis de Erro)
O journalctl divide as mensagens por gravidade (0 a 7, indo de Emergência a Debug). Você pode filtrar para ver apenas o que realmente importa usando a flag -p (priority):
Ver apenas erros críticos e falhas do sistema:
$ sudo journalctl -p err -b
Níveis comuns que você pode usar: emerg (emergência), alert (alerta), crit (crítico), err (erro), warning (aviso).
6. Logs Exclusivos do Kernel (dmesg)
Se você acabou de espetar um dispositivo USB que não funcionou, ou quer ver erros físicos de hardware e memória detectados pelo Kernel do Linux, use a flag -k (kernel):
$ sudo journalctl -k
7. Investigando o Processo de Boot
Sempre que você reinicia o computador, o journalctl fecha um ciclo e começa outro.
Ver logs apenas do boot atual (desde que você ligou a máquina):
$ sudo journalctl -b
Ver logs do boot anterior (o penúltimo antes de reiniciar):
$ sudo journalctl -b -1
Listar todos os boots que o sistema tem guardado na memória:
$ sudo journalctl --list-boots
| O que você quer fazer? | Comando |
|---|---|
| Ver tudo e ir direto para o final | sudo journalctl -e |
| Monitorar o sistema ao vivo | sudo journalctl -f |
| Ver logs de um app específico | sudo journalctl -u nome_do_serviço |
| Ver erros das últimas 2 horas | sudo journalctl --since "2h ago" -p err |
| Descobrir erros do boot anterior | sudo journalctl -b -1 -p err |