image

Acesse bootcamps ilimitados e +750 cursos pra sempre

70
%OFF

AD

Alisson Dias01/07/2026 14:54
Compartilhe

Como está sendo meu início em DevOps

    ANTES DE MAIS NADA: É claro que há muitas outras informações e detalhes sobre o que foi apresentado aqui, mas preferi não me aprofundar tanto. Além de evitar que o texto ficasse longo e cansativo, meu objetivo é apenas compartilhar os conteúdos que estou estudando, e não criar um megatutorial — deixo essa tarefa para os profissionais que me inspiram. Para saber mais, acessem as fontes citadas ou fiquem à vontade para buscar e recomendar as suas próprias

    Dito isso, vamos lá

    A linha de comando sempre foi e ainda é um assunto e conhecimento extremamente necessário para trabalhar em qualquer ramo da área de computação.Então como forma de registar/compartilhar meu aprendizado, decidi documentar alguns comandos do Linux baseados na trilha de DevOps, aqui vai um breve resumo do que eu vi e julguei mais importante. 

    Monitoramento de Processos e Performance

    • lsof (LiSt open files): Lista todos os arquivos abertos no momento. No Linux tudo é considerado um arquivo, então o comando detalha o processo, o PID (Process ID), o usuário e o tipo de permissão (como 'r' para leitura e 'w' para escrita). Dá para usar parâmetros como -u para filtrar por usuário ou -i para listar conexões de rede. 

    • vmstat (virtual memory statistics): Ótimo para identificar gargalos de performance e diagnosticar problemas no sistema. Ele traz dados sobre a memória (livre, cache, buffer), espaço de Swap, estatísticas de entrada/saída (I/O) e mostra exatamente como a CPU está dividindo seu tempo. 

    Ferramentas de Rede

    • ping: Testa a conexão entre a rede local e outra rede. 

    • ip -a: Mostra uma lista de todas as interfaces de rede e suas configurações IP. 

    • ssh: Usado para autenticar e conectar a um host remoto (exigindo permissão de acesso e senha). 

    • scp (Secure Copy Protocol): Transfere ou copia arquivos entre o Linux e a rede de forma segura. Ele usa a conexão SSH para criptografar os dados e as senhas durante a transferência entre hosts locais e remotos. 

    Manipulação de Texto

    Entender como interagir com os fluxos do sistema ajuda muito na hora de montar comandos mais complexos ou escrever scripts. 

    • STDIN, STDOUT e STDERR: São os fluxos de entrada (stdin), saída padrão de dados (stdout) e a saída usada para retornar erros (stderr). 

    • Pipes (|): Usados quando queremos rodar mais de um comando ao mesmo tempo, passando a saída de um como entrada para o outro. 

    • Redirecionamento (>, >>, 2>): Operadores para ler um dado e direcionar sua saída. O > escreve em um arquivo novo, o >> adiciona a saída ao fim de um arquivo existente, e o 2> redireciona especificamente as mensagens de erro. 

    • cut e sort: O cut remove partes de cada linha (útil para extrair uma coluna de um CSV), e o sort rearranja as linhas em ordem crescente ou decrescente. 

    • tac e uniq: O tac imprime o conteúdo do arquivo na ordem reversa, enquanto o uniq ignora conteúdos repetidos. 

    • awk: Uma ferramenta muito versátil para processamento de texto. Serve para somar números em uma coluna, filtrar dados com condições, agrupar dados e muito mais. 

    Fontes e créditos:

    • Base de conteúdos usada: https://roadmap.sh/devops

    • Never Ending Security - lsof Cheatsheet: https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/

    • Learn Linux TV - Linux Crash Course: https://www.youtube.com/watch?v=n9nZ1ellaV0

    • phoenixNAP - How to Use the vmstat Command: https://phoenixnap.com/kb/vmstat-command

    • Bit Globin - Top 5 Linux Networking Commands: https://www.youtube.com/watch?v=MT85eMsMN6o

    • phoenixNAP - SCP Command in Linux: https://phoenixnap.com/kb/linux-scp-command

    • EARTHLY - Linux Text Processing Command: https://earthly.dev/blog/linux-text-processing-commands/

    Fonte e créditos:

    • freeCodeCamp.org - Vim Tutorial for Beginners: https://www.youtube.com/watch?v=RZ4p-saaQkc

    Começando com o Vim

    Ao abrir, estamos no Normal mode, e não se pode escrever texto algum. Para poder escrever, ou entrar em Insert mode, pressiono a ou i. Para voltar para o Normal mode, aperto Esc. Em Normal mode, ao pressionar :, posso executar comandos: 

    • :q fecha o arquivo, mas se tiver algum conteúdo não salvo, dá erro e não sai. 

    • :q! força o fechamento do arquivo. 

    • :w salva as mudanças. 

    • :wq salva e fecha. 

    Impressões pessoais

    O mouse não funciona por padrão (tem como ativar com :set mouse=a), e isso ainda me gera uma estranheza. Só escrevendo esse arquivo de texto não dá para ter a noção de como o Vim realmente afeta a produtividade, mas vou fazer algumas coisas mais avançadas nele e ver como me saio. 

    Atalhos

    É normal se mover pelo arquivo com as setas, mas o Vim permite você digitar 5 + seta para baixo para se mover 5 linhas para baixo. Eu achei isso bem legal e, ao mesmo tempo, desnecessário; quer dizer, eu não imagino alguém realmente usando isso. 

    Os números também não servem só para se mover. Quando em Normal mode, a letra u desfaz sua última ação (por causa de undo), e 5 + u desfaz as últimas 5 ações, o que eu já acho muito útil e legal. O atalho Ctrl + r serve para refazer, e 5 + Ctrl + r refaz as últimas 5 ações. 

    Primeiros passos em Docker

    Fonte e créditos:

    • DevOps with Docker: https://courses.mooc.fi/org/uh-cs/courses/devops-with-docker/chapter-2/definitions-and-basic-concepts

    O que é Docker?

    Docker é uma ferramenta para entregar softwares em containers. Containers, por sua vez, são pacotes de softwares.

    Por que usar containers?

    A situação e frase mais clássicas da programação: colocar uma aplicação que funciona na sua máquina para rodar no servidor e não rodar, com a desculpa "mas na minha máquina funciona". Com containers isso não acontece, já que cada container inclui todas as dependências do programa.

    Também é possível criar versões isoladas de programas, o que evita erros e ajuda no desenvolvimento. E como é possível criar vários containers da mesma aplicação, isso também é útil na escalabilidade.

    Primeiro programa rodando

    Com o Docker já instalado, é só abrir o terminal e rodar docker container run hello-world que ele já cria um container de verificação.

    Imagens e containers

    Uma imagem Docker é um arquivo que nunca muda e não pode ser editado. Nesse arquivo tem todas as instruções e dependências necessárias para o container rodar.

    • docker image ls: lista as suas imagens.

    • Rodar a mesma imagem novamente irá criar duas instâncias (containers) dela.

    • Sempre é preciso remover primeiro o container e depois a imagem; tentar o contrário resulta em um erro.

    • Para remover um container, pode-se usar ou o nome ou o ID dele. Para descobrir ambos, você pode usar o comando docker container ls -a | grep hello-world (versão no Linux). Como o ID normalmente é bem grande, usar somente os primeiros caracteres já basta. Em vez de docker container rm aaf6e7c78814, basta digitar docker container rm aaf6.

    • O comando docker container prune ou docker image prune remove todos os containers ou imagens que não estão em uso.

    Por enquanto é isso, obrigado a todos que leram e por favor fiquem à-vontade para mandar suas criticas e conselhos. Pretendo continuar postando nesse formato por um tempo então qualquer dica é sempre bem vinda

    Também a quem quiser, vamos nos conectar no linkedin e no github.

    Meus Links:

    https://www.linkedin.com/in/alisson-dias-4949103a4/

    https://github.com/alissondias99

    Compartilhe
    Recomendados para você
    AWS - Agentes de IA em Campo
    Riachuelo - Criando produtos com IA
    Michael Page - Criando Seu Primeiro Agente de IA
    Comentários (0)