Por Que Estou Aprendendo Rust e Shell Script Para Entender Linux Mais Profundamente?

Por Que Estou Aprendendo Rust e Shell Script Para Entender Linux Mais Profundamente?

Publicado em 19/06/2026 · Código

Descubra por que um profissional com experiência em Python e ciência de dados decidiu estudar Rust e Shell Script para aprofundar seus conhecimentos em Linux, infraestrutura, processos e sistemas operacionais.

Por Que Estou Aprendendo Rust e Shell Script Depois de Anos Trabalhando com Python

De Cientista de Dados a Estudante de Sistemas Linux

Durante muitos anos, minha principal linguagem de programação foi Python.

Foi com Python que construí aplicações, automatizei tarefas, desenvolvi projetos de ciência de dados, trabalhei com estatística, análise de dados, machine learning e desenvolvi ferramentas completas para análise de futebol.

Python continua sendo uma excelente linguagem. Ela é produtiva, possui uma curva de aprendizado amigável e um ecossistema gigantesco.

Mas nos últimos meses, meu foco mudou.

Em vez de olhar apenas para aplicações, comecei a me interessar cada vez mais pela infraestrutura que permite que essas aplicações existam.

Passei a estudar Linux de forma muito mais profunda, montar meu próprio homelab, configurar servidores, trabalhar com Docker, Nginx, Prometheus, Grafana, Loki, SELinux, systemd e diversas outras tecnologias que vivem abaixo da camada onde normalmente um cientista de dados trabalha.

Foi nesse contexto que tomei a decisão de estudar Shell Script e Rust.

Não porque eu pretenda abandonar Python.

Não porque eu acredite que Rust seja uma linguagem "melhor".

Mas porque elas me ajudam a compreender melhor o funcionamento interno dos sistemas Linux.

O Problema de Aprender Apenas Ferramentas

Existe uma armadilha muito comum para quem começa a estudar Linux.

Aprender apenas comandos.

Você decora:

systemctl
journalctl
ss
ip
find
grep
awk
sed

Mas nem sempre entende o que realmente está acontecendo por trás.

Isso funciona durante algum tempo.

Porém, chega um momento em que a evolução depende menos da memorização de comandos e mais da compreensão dos mecanismos internos do sistema.

É como dirigir um carro.

Você pode aprender a trocar de marcha e acelerar.

Mas compreender como funcionam motor, transmissão e sistema de combustível permite diagnosticar problemas que um simples motorista não conseguiria resolver.

Com Linux acontece exatamente a mesma coisa.

Por Que Shell Script?

Se existe uma linguagem que conversa diretamente com o Linux, essa linguagem é o Shell.

Quando aprendemos Bash ou Shell Script, começamos a enxergar o sistema operacional de uma maneira diferente.

Percebemos que quase tudo no Linux pode ser combinado.

A saída de um comando pode alimentar outro.

Arquivos podem ser processados em massa.

Logs podem ser filtrados.

Processos podem ser monitorados.

Serviços podem ser automatizados.

Backups podem ser executados sem intervenção humana.

Mais importante ainda: passamos a entender melhor a filosofia Unix.

A ideia de construir pequenas ferramentas que fazem uma única coisa muito bem e podem ser combinadas para resolver problemas complexos.

Essa forma de pensar é uma das bases do Linux moderno.

Shell Script Não É Apenas Automação

Muita gente enxerga Shell Script apenas como uma ferramenta para automatizar tarefas repetitivas.

Isso é verdade, mas é apenas parte da história.

Escrever scripts obriga você a compreender conceitos fundamentais como:

  • Processos
  • Entradas e saídas padrão
  • Redirecionamentos
  • Pipes
  • Permissões
  • Variáveis de ambiente
  • Códigos de retorno
  • Controle de execução

Esses conceitos aparecem constantemente na administração de sistemas Linux.

Quanto mais familiaridade você desenvolve com eles, mais natural se torna entender o comportamento do sistema.

Por Que Rust?

A decisão de estudar Rust veio por uma razão diferente.

Enquanto Shell Script me aproxima do sistema operacional, Rust me aproxima da forma como os programas interagem com ele.

Rust é frequentemente descrita como uma linguagem de sistemas moderna.

Mas o que isso significa na prática?

Significa que ela expõe conceitos que linguagens de alto nível costumam esconder.

O Que Python Esconde

Python é excelente para produtividade.

Entretanto, grande parte da complexidade do sistema é abstraída.

Você cria objetos.

Manipula listas.

Abre arquivos.

Executa tarefas concorrentes.

Tudo isso com relativamente pouco esforço.

Mas muitas vezes sem precisar entender como a memória está sendo utilizada.

Sem precisar pensar sobre quem é responsável pelos recursos.

Sem precisar refletir sobre ciclos de vida dos dados.

Essa abstração é extremamente útil.

Mas ela também cria uma certa distância entre o desenvolvedor e o funcionamento interno da máquina.

Ownership e Borrowing Mudaram Minha Forma de Pensar

Uma das características mais famosas do Rust é seu sistema de ownership e borrowing.

Inicialmente ele parece estranho.

Mas depois de algum tempo fica claro que ele força o programador a pensar de forma muito mais explícita sobre recursos.

Quem é dono deste dado?

Quem pode utilizá-lo?

Por quanto tempo?

Quem é responsável por liberá-lo?

Essas perguntas não são exclusivas da programação.

Elas aparecem em diversas áreas da computação.

Quando começamos a compreender esses conceitos, passamos a enxergar melhor como processos, memória e recursos são gerenciados dentro de um sistema operacional.

Aprender Rust Não É Apenas Aprender Uma Linguagem

Para mim, Rust não é apenas mais uma linguagem para colocar no currículo.

O principal benefício está no aprendizado dos conceitos.

Mesmo que eu nunca desenvolvesse uma aplicação grande em Rust, o simples fato de estudar seus fundamentos já melhora minha compreensão sobre:

  • Memória
  • Concorrência
  • Processos
  • Threads
  • Desempenho
  • Recursos do sistema operacional

Esses conhecimentos se refletem diretamente na administração de sistemas Linux.

A Relação Entre Rust e Linux

Existe também um aspecto prático.

Cada vez mais ferramentas modernas de infraestrutura estão sendo desenvolvidas em Rust.

O ecossistema de observabilidade, segurança, redes e cloud tem adotado a linguagem com frequência crescente.

Mesmo quando não estamos programando em Rust diariamente, compreender sua sintaxe e seus conceitos facilita o entendimento de diversas ferramentas que utilizamos em ambientes Linux.

Meu Objetivo Não É Virar Desenvolvedor Rust

Essa talvez seja a parte mais importante.

Meu objetivo principal não é me tornar desenvolvedor Rust.

Meu foco continua sendo Linux, infraestrutura e administração de sistemas.

Estou estudando Rust porque acredito que ela me ajuda a compreender melhor o funcionamento das camadas mais próximas do sistema operacional.

Da mesma forma que estudar redes ajuda a entender serviços distribuídos.

Ou que estudar bancos de dados ajuda a compreender aplicações.

Rust me ajuda a enxergar melhor o que acontece entre o software e o sistema operacional.

A Combinação Que Faz Sentido Para Mim

Hoje vejo Python, Shell Script e Rust como ferramentas complementares.

Python continua sendo minha principal linguagem para produtividade.

Shell Script me ajuda a conversar diretamente com o Linux.

Rust me ajuda a compreender os mecanismos internos dos programas e dos sistemas.

Cada uma ocupa um espaço diferente.

Cada uma resolve problemas diferentes.

E cada uma contribui para meu objetivo atual: me tornar um profissional com uma compreensão mais profunda de como sistemas Linux realmente funcionam.

Conclusão

Aprender Rust e Shell Script não é uma mudança de carreira nem uma tentativa de seguir modismos tecnológicos.

É uma consequência natural da minha jornada de aprofundamento em Linux.

Depois de anos trabalhando com Python em projetos de ciência de dados, percebi que queria entender melhor aquilo que acontece abaixo da superfície.

Queria compreender melhor processos, memória, serviços, concorrência, automação e a forma como os programas interagem com o sistema operacional.

Shell Script me aproxima do Linux.

Rust me aproxima dos mecanismos internos dos programas.

Juntas, essas duas tecnologias estão me ajudando a construir uma compreensão mais sólida dos fundamentos que sustentam praticamente tudo o que executamos em ambientes Linux modernos.