user@lpi:~$ linux-essentials
Início / Tópico 4 · O sistema operacional Linux / 4.3

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)
  • ps vs top (snapshot vs tempo real)
  • /var/log — logs persistentes em disco
  • journalctl / 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).