DevOps Mind
10 comandos do terminal Linux úteis para todos DevOps, mas não tão conhecidos
No dia a dia de um profissional de DevOps, a eficiência e a agilidade são fundamentais para garantir um ambiente de TI confiável e de alto desempenho. Em um cenário em constante evolução, enfrentamos desafios que requerem habilidades avançadas de análise e solução de problemas. Nesse contexto, o conhecimento de comandos e scripts menos conhecidos, porém altamente úteis, pode fazer toda a diferença.
No uso diário de terminal, este tema conversa com terminal Linux no Windows com WSL2, cheat.sh no terminal Linux e remoção automatizada de branch remota no Git, formando uma base mais completa para automação e troubleshooting.
No dia a dia de um profissional de DevOps, a eficiencia no terminal e o que separa um diagnostico rapido de uma madrugada em plantao. Esses 10 comandos sao os que eu uso constantemente quando preciso investigar gargalos sem instalar nada extra.
Ao lidar com situações de troubleshooting, esses comandos do terminal Linux menos conhecidos tornam-se ferramentas poderosas. O monitoramento do consumo de recursos de um processo específico, por exemplo, permite identificar gargalos de desempenho e otimizar o uso de recursos do sistema. Isso é especialmente valioso em ambientes de produção, onde cada milissegundo conta.
A análise da latência de uma URL específica é outro caso de uso importante. Com esse comando, podemos identificar possíveis problemas de conectividade ou instabilidades na rede. Essa informação é crucial para garantir a disponibilidade e a confiabilidade de serviços essenciais.
Outro cenário crítico é o monitoramento em tempo real do tráfego de rede. Com comandos como “tcpdump”, podemos capturar e analisar pacotes em tempo real, identificando possíveis anomalias ou ataques à rede. Essa capacidade é vital para a segurança e a proteção de dados em um ambiente cada vez mais exposto a ameaças.
Além disso, a análise do desempenho do disco e da atividade de I/O de processos específicos oferece insights valiosos sobre o desempenho do sistema. Comandos como “iostat” e “iotop” permitem identificar gargalos de I/O, otimizar a utilização do armazenamento e melhorar a eficiência operacional.
No contexto de desenvolvimento e implantação, esses comandos também são úteis. Por exemplo, a conversão de arquivos JSON para CSV pode facilitar a manipulação e análise de dados estruturados em várias ferramentas. A listagem de dependências de pacotes Python com o “pipdeptree” auxilia na gestão de versões e na solução de conflitos entre dependências.
Tópicos
Comandos do terminal Linux

1. Obter o Endereço IP Público
curl ifconfig.meEsse comando utiliza o serviço ifconfig.me para recuperar o endereço IP público do servidor(comando ip linux terminal). Isso é útil em cenários em que você precisa fornecer o endereço IP público para fins de configuração ou acesso remoto. O comando é simples e direto, não requer configuração adicional e retorna o endereço IP em formato de texto. Tem a mesma finalidade do famoso site meuip.com.br, mas via linha de comando.
2. Monitorar Consumo de Recursos
top -p <PID> -b -n 1Esse comando permite monitorar o consumo de recursos (como CPU e memória) de um processo específico por meio do seu PID. Ele é útil para identificar gargalos de desempenho em processos individuais e otimizar o uso de recursos do sistema. A opção “-b” garante a execução em segundo plano e a opção “-n 1” especifica o número de iterações.
3. Analisar Latência de URL
ping -c 5 <URL>O comando “ping” é comumente usado para verificar a conectividade de rede, mas sua opção menos conhecida “-c” permite especificar o número de pacotes a serem enviados. Isso é útil para analisar a latência e a perda de pacotes em uma URL específica, ajudando a diagnosticar problemas de conectividade e a verificar a estabilidade da rede, sendo um dos comandos do terminal Linux mais utilizados em momentos de troubleshooting de problemas de rede.
4. Verificar Tráfego de Rede em Tempo Real
sudo tcpdump -i <interface-de-rede>O comando “tcpdump” é uma ferramenta poderosa para analisar o tráfego de rede. Com a opção “-i” seguida pelo nome da interface de rede, você pode monitorar e capturar pacotes em tempo real. Isso é útil para depuração de rede, análise de tráfego e detecção de problemas de segurança. Lembre-se de executar o comando com privilégios de superusuário (sudo) para acessar todas as interfaces.
5. Analisar Desempenho do Disco
iostat -x 1O comando “iostat” é usado para monitorar o desempenho do sistema, incluindo a utilização do disco. Com a opção “-x” é possível exibir estatísticas detalhadas sobre o uso de I/O. O intervalo de 1 segundo (opção “1”) fornece atualizações frequentes, permitindo uma análise em tempo real do desempenho do disco. Isso é útil para identificar gargalos de E/S e ajustar a configuração de armazenamento.
6. Monitorar Atividade de I/O de Processos
iotop -p <PID>O comando “iotop” exibe informações sobre a atividade de I/O dos processos em execução no sistema. Ao fornecer o PID de um processo específico, você pode monitorar sua atividade de leitura e gravação em tempo real. Isso é útil para identificar processos que estão realizando operações intensivas de I/O e otimizar seu desempenho.
7. Remover Contêineres Docker Parados
docker container prune -fO comando “docker container prune” permite remover todos os contêineres Docker que estão parados. Isso é útil para limpar o ambiente Docker e liberar recursos de armazenamento. A opção “-f” indica que a remoção deve ser feita sem a necessidade de confirmação adicional. Também pode ser usado em conjunto com o docker system prune.
8. Limpar Arquivos Antigos
find /caminho/do/diretorio -type f -mtime +X -exec rm {} \;Este comando é um comando do terminal Linux bem conhecido, mas as vezes é pouco explorado, apesar do seu grande potencial. Esse script usa o comando “find” para localizar arquivos em um diretório com base no tempo de modificação. A opção “-type f” especifica que apenas arquivos regulares devem ser considerados. A opção “-mtime +X” define o limite de idade em dias. Ao usar o argumento “-exec rm {} ;”, os arquivos encontrados são removidos. Isso é útil para limpar diretórios de logs antigos ou arquivos temporários.
9. Converter JSON para CSV
jq -r 'map(values) | @csv' < arquivo.json > arquivo.csvO comando “jq” é uma ferramenta de linha de comando para processar JSON. Com essa linha de script, é possível converter um arquivo JSON para o formato CSV. O comando “map(values)” extrai os valores dos campos JSON, e a expressão “@csv” formata-os como uma linha CSV. Essa conversão é útil quando você precisa manipular e analisar dados JSON em ferramentas que suportam o formato CSV.
10. Listar Dependências de Pacotes Python
pipdeptree <nome-do-pacote>O comando “pipdeptree” exibe uma árvore de dependências de pacotes Python instalados em um ambiente virtual ou sistema. Isso é útil para visualizar a hierarquia de dependências e suas versões. Com essa informação, é possível solucionar problemas de compatibilidade, gerenciar versões de pacotes e verificar se há dependências desnecessárias ou conflitantes.
Conclusão
Dominar esses comandos do terminal Linux menos conhecidos pode transformar a maneira como profissionais de DevOps realizam suas tarefas diárias. Com eles, é possível otimizar o monitoramento, solucionar problemas e gerenciar recursos de forma mais eficaz, aumentando a produtividade e a eficiência operacional.

FAQs
1. Como descobrir o endereço IP público do meu servidor?
Utilize o comando curl ifconfig.me para obter o endereço IP público de maneira simples e rápida.
2. Qual comando uso para monitorar recursos de um processo específico?
O comando top -p <PID> -b -n 1 permite monitorar CPU e memória de um processo específico.
3. Como analisar a latência de uma URL?
O comando ping -c 5 <URL> ajuda a verificar a conectividade e latência de uma URL específica.
4. Qual comando utilizo para analisar o tráfego de rede em tempo real?
Use sudo tcpdump -i <interface-de-rede> para capturar e analisar pacotes de rede em tempo real.
5. Como converter arquivos JSON para CSV?
O comando jq -r 'map(values) | @csv' < arquivo.json > arquivo.csv converte JSON para CSV, facilitando a análise de dados.
Material Extra
Um pouco mais
Gostou do artigo? Não deixe de se inscrever na nossa newsletter para receber as últimas novidades e dicas sobre DevOps diretamente no seu e-mail, acesse a nossa home e se inscreva no bloco “Receba as notícias por email” . Além disso, leia nossos outros posts sobre Linux, para continuar aprimorando suas habilidades em DevOps/SRE.







