TuxTech

Logs e Diagnóstico — Comandos Linux

Comandos Gerais.

Comandos. Descrição Técnica. Ações.
tail -f /var/log/syslog Logs do sistema em tempo real (Debian, Ubuntu, Mint, Devuan).
tail -f /var/log/messages Logs do sistema em distros com SysV/OpenRC (ex: Gentoo, Devuan legado).
dmesg -T | tail -20 Mensagens do kernel com timestamp legível (últimas 20 linhas).
lshw -short Lista resumida de hardware (requer sudo para detalhes).
lscpu Informações detalhadas da CPU (arquitetura, núcleos, threads).
lsblk -f Discos, partições e sistemas de arquivos (com UUID e tipo).
lspci -v Dispositivos PCI (placa de vídeo, rede, som).
lsusb -v Dispositivos USB conectados.
sudo smartctl -a /dev/SEU_DISCO Diagnóstico S.M.A.R.T. do disco (substitua SEU_DISCO pelo seu).
sudo badblocks -v /dev/SEU_DISCO Verifica blocos ruins em uma partição (use com cuidado).
strace -c ls >/dev/null Chamadas de sistema resumida em tabela.
sudo tcpdump -i eth0 -nn Captura tráfego de rede bruto (substitua eth0 pela sua interface).
sudo /usr/sbin/logrotate -dv /etc/logrotate.conf Testa configuração de rotação de logs sem executar.
Comandos. Uso Típico. Resultados.
file /bin/* | grep "shell script" Lista todos os scripts shell em /bin Mostra caminhos de arquivos interpretados por /bin/sh, /bin/bash, etc.
file /bin/* | grep "ELF" Lista todos os binários executáveis em /bin Mostra caminhos de programas compilados (ex: ls, cp, grep).
ldd /bin/ls Listar bibliotecas compartilhadas (.so) que um binário depende Mostra caminhos reais das libs (ex: libc.so.6 → /lib/x86_64-linux-gnu/libc.so.6)
readelf -d /bin/ls | grep NEEDED Ver dependências diretamente no cabeçalho ELF (mesmo se o binário estiver quebrado) Lista apenas os nomes das bibliotecas exigidas (ex: libselinux.so.1)
ltrace /bin/ls Rastrear chamadas a funções de biblioteca em tempo real Mostra chamadas como malloc(1024), getenv("PATH")
ltrace -c /bin/ls Perfilamento de desempenho: conta quantas vezes cada função foi chamada Tabela com % do tempo, média por chamada, total de chamadas
💡 Dica: Use ldd para diagnóstico rápido. Use readelf se o binário não rodar. Use ltrace só para debug dinâmico.
COMO O LINUX EXECUTA PROGRAMAS • script.sh #!/bin/sh echo "Olá" → Não é ELF. Não funciona com ldd. • /bin/ls ldd /bin/ls mostra libs: libc.so.6, etc. → É ELF. Executado pelo kernel. ✓ Scripts: texto legível. Binários: código de máquina (ELF).
⤓ Baixar PNG

Todo script precisa de um #! (shebang). Binários não precisam.