Comando tree
O comando tree no Linux exibe a estrutura de diretórios em formato de árvore, listando todos os arquivos e subdiretórios.
Sintaxe: tree [-opções] [diretório...]
Parâmetros comuns:
- -a: mostra todos os arquivos e diretórios, incluindo ocultos.
- -C: adiciona cores para diferenciar tipos de arquivos.
- -D: exibe datas de modificação.
- -L nível: limita a profundidade da exibição.
- -f: exibe caminhos relativos completos.
Exemplo de uso: Para listar o diretório /var/log com cores e datas de modificação:
tree -C -D /var/log
Este comando mostra a estrutura com formatação colorida e informações temporais.
Encontrar os arquivos que mais ocupam espaço
Utilize combinações de comandos para identificar arquivos grandes no sistema.
Comandos envolvidos:
du: calcula o uso de espaço de arquivos ou diretórios.sort: ordena linhas de saída.head: exibe as primeiras linhas de uma saída.
Exemplo prático: Listar os 5 maiores arquivos no diretório atual:
du -ah . | sort -n -r | head -5
Para ver o tamanho de subdiretórios imediatos:
du -h --max-depth=1 /home
Codificação e decodificação base64
O utilitário base64 converte dados para o formato base64, comum para transferência de dados.
Codificação: A partir da entrada padrão ou arquivos.
echo "texto_confidencial" | base64
Decodificação:
echo "dGV4dG9fY29uZmlkZW5jaWFs" | base64 --decode
Informações sobre a CPU
Consultar detalhes da CPU via arquivos de sistema.
Número de processadores físicos:
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
Núcleos por processador:
grep 'cpu cores' /proc/cpuinfo | uniq
Combine para calcular o total de núcleos.
Remoção massiva de arquivos
Para excluir muitos arquivos, use find com xargs para evitar limites de argumentos.
find /tmp -name "padrão_*.tmp" -print0 | xargs -0 rm -f
Este método lida com nomes de arquivo complexos de forma segura.
Extração de logs por intervalo de tempo
Utilize sed para recortar seções de logs baseado em timestamps.
sed -n '/2023-11-01 12:00/, /2023-11-01 13:30/p' /var/log/app.log > /tmp/recorte.log
Ajuste os timestamps conforme necessário para o período desejado.
Autenticação sem senha via SSH
Gerar chaves SSH e distribuí-las para acesso remoto automatizado.
ssh-keygen -t ed25519
for host in srv01 srv02 srv03; do
ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@$host
done
Substitua os nomes dos hosts e usuários conforme seu ambiente.
Análise de conexões de rede com netstat
Contar estados de conexões TCP para monitoramento.
netstat -ant | awk '/^tcp/ {estado[$NF]++} END {for (s in estado) print s, estado[s]}'
Estados comuns encluem ESTABLISHED, TIME_WAIT, e CLOSE_WAIT.
Processos com mais arquivos abertos
Usar lsof para identificar processos que consomem muitos descritores de arquivo.
lsof | awk '{print $2}' | sort | uniq -c | sort -n -r | head -10
Adapte o número em head para exibir mais ou menos processos.
Montioramento de E/S de disco
Ferramentas para diagnosticar gargalos de I/O.
Visão geral com iostat:
iostat -x 1 5
Identificar processos com alta E/S:
iotop -o -d 2
Relatórios detalhados com pidstat:
pidstat -d 3
Execute estes comandos para analisar desempenho em tempo real.
Limpeza de logs antigos
Automatizar a remoção de logs baseado na idade dos aqruivos.
find /var/log/app/ -type f -mtime +30 -name "*.log" -delete
Ajuste o caminho e o período em dias (+30) de acordo com a política de retenção.
Monitoramento de desempenho com sar
O sar é uma ferramenta avançada para coleta e análise de métricas de sistema. Para detalhes de uso, consulte a documentação oficial do sistema ou manuais especializados.