4.3 — Onde os dados são armazenadosTópico 4: O sistema operacional Linuxpeso 3
O que você precisa entender
Linux trata "quase tudo como arquivo" — inclusive processos rodando e configurações do kernel são expostos como arquivos em /proc. Esse subtópico cobra: onde ver processos, onde ficam os logs, e o que é /proc.
Processos: ps e top
ps aux # lista TODOS os processos rodando no sistema, formato detalhado
ps aux | grep ssh # filtra processos por nome
top # monitor interativo em tempo real (CPU, memória, processos)
htop # versão mais amigável do top (pode não vir instalado por padrão)
Colunas importantes do ps aux:
| Coluna | Significa |
|---|---|
| USER | Dono do processo |
| PID | ID do processo |
| %CPU | Uso de CPU |
| %MEM | Uso de memória |
| COMMAND | Comando que iniciou o processo |
Logs do sistema: /var/log
| Arquivo/pasta | Conteúdo |
|---|---|
/var/log/syslog ou /var/log/messages |
Log geral do sistema (varia por distro) |
/var/log/auth.log ou /var/log/secure |
Log de autenticação/login (SSH, sudo) |
/var/log/dmesg |
Mensagens do kernel no boot |
/var/log/apt/ |
Histórico de instalações via apt (Debian/Ubuntu) |
Em distros modernas com systemd, os logs também ficam no journal, acessado via journalctl:
journalctl # mostra todo o journal
journalctl -u nome-servico # logs de um serviço específico
journalctl -f # acompanha em tempo real (como tail -f)
journalctl -b # logs só do boot atual
/proc — o sistema de arquivos virtual do kernel
/proc não existe fisicamente no disco — é gerado pelo kernel em tempo real e representa o estado do sistema como se fossem arquivos.
cat /proc/cpuinfo # info da CPU
cat /proc/meminfo # info de memória
cat /proc/uptime # tempo desde o último boot
ls /proc/ # cada pasta numerada é um PID de processo rodando
cat /proc/1/status # informações do processo PID 1
Termos-chave
- Processo, PID (Process ID)
psvstop(snapshot vs tempo real)/var/log— logs persistentes em discojournalctl/ journal do systemd — logs binários geridos pelo systemd/proc— pseudo-sistema de arquivos, não ocupa espaço em disco
Comandos para testar
# 1. Ver todos os processos rodando
ps aux
# 2. Filtrar processos por nome
ps aux | grep bash
# 3. Ver as últimas 20 linhas do log geral do sistema
tail -20 /var/log/syslog 2>/dev/null || tail -20 /var/log/messages
# 4. Ver logs do systemd em tempo real (Ctrl+C para sair)
journalctl -f
# 5. Ver quanto tempo o sistema está ligado
cat /proc/uptime
uptime
📌 Exercício prático
Rode ps aux | grep -i ssh e identifique o PID do processo do servidor SSH (se estiver rodando). Depois, rode journalctl -u ssh -n 20 (ou sshd, dependendo da distro) pra ver as últimas 20 linhas de log desse serviço. Por fim, veja o conteúdo de /proc/uptime e calcule há quantas horas o sistema está ligado (o primeiro número é em segundos).