Linux: Introdução ao Linux
Linux é o sistema operacional com o qual todo desenvolvedor eventualmente vai lidar. Seja implantando serviços de back-end, configurando bancos de dados ou executando pipelines de CI/CD, o servidor muito provavelmente roda Linux.
📋 Pré-requisitos: Nenhuma experiência prévia é necessária
1. O Que Você Vai Aprender
- As diferenças fundamentais entre Linux, Windows e macOS
- A filosofia de código aberto e a relação GNU/Linux
- Estratégias para escolher uma distribuição Linux
- Por que o Linux domina o mercado de servidores
- O panorama atual do Linux no desktop
2. A História de um Iniciante: Primeiro Encontro com um Servidor
(1) O Problema: Sentir-se Perdido Diante de um Servidor pela Primeira Vez
Alex é um desenvolvedor que migrou recentemente para o Linux. A empresa lhe deu um MacBook, mas seus colegas de back-end navegam pelo terminal com naturalidade. Ele precisava acessar um servidor Linux para verificar os logs, mas ao abrir o terminal nem sabia o que significava "ls".
O engenheiro sênior Bob disse a ele: "Dominar Linux é uma competência essencial para qualquer desenvolvedor — não porque você vai usá-lo como sistema desktop, mas porque a grande maioria dos serviços de internet roda em Linux."
(2) A Solução do Linux
Bob apresentou o Linux ao Alex: um kernel de sistema operacional livre e de código aberto, estável o suficiente para rodar por anos sem interrupção. Qualquer dispositivo — de um Raspberry Pi até um rover da NASA em Marte — pode executá-lo.
# Verifique há quanto tempo um servidor Linux está no ar
uptime
# Saída de exemplo: 10:23 up 187 days, 4 users, load average: 0.08 0.03 0.01
(3) O Benefício: Compreender a Infraestrutura
Após concluir esta aula, Alex entendeu qual sistema operacional sustenta os serviços do GitHub, Netflix e YouTube que ele usa todos os dias — e por que o Linux domina o mercado de servidores.
3. Pontos-Chave
(1) O Que É o Linux
Em sentido estrito, Linux é apenas um kernel — o componente central de um sistema operacional, responsável por gerenciar recursos de hardware, escalonar processos, administrar sistemas de arquivos e muito mais. Em 1991, o estudante finlandês Linus Torvalds lançou a primeira versão.
Mas o que as pessoas costumam chamar de "Linux" na verdade se refere ao sistema operacional GNU/Linux — a combinação completa do kernel Linux com o conjunto de ferramentas GNU (comandos como cp, mv, ls, bash etc.).
(2) Linux vs Windows vs macOS
Os três grandes sistemas operacionais diferem fundamentalmente em design e filosofia:
| Dimensão | Linux | Windows | macOS |
|---|---|---|---|
| Kernel | Linux (código aberto) | NT (código fechado) | XNU (parcialmente aberto) |
| Gerenciamento de pacotes | apt/yum/dnf | EXE/MSI | Homebrew |
| Linha de comando | bash/zsh (experiência central) | PowerShell (complemento) | zsh (estilo Linux) |
| Sistema de arquivos | ext4/XFS/Btrfs | NTFS | APFS |
| Ambiente desktop | GNOME/KDE (escolha do usuário) | Desktop fixo | Aqua |
| Licença | GPL (código aberto, gratuito) | Licença comercial | Licença comercial |
| Mercado principal | Servidores / Embarcados | Desktop / Empresas | Desktop / Criativos |
(3) Principais Famílias de Distribuições
O Linux tem centenas de distribuições, mas apenas quatro famílias principais:
| Família | Gerenciador de pacotes | Distribuições representantes | Ideal para |
|---|---|---|---|
| Família Debian | apt/.deb | Ubuntu, Debian, Linux Mint | Iniciantes, servidores |
| Família RHEL | yum/dnf/.rpm | RHEL, Fedora, CentOS | Servidores corporativos |
| Família Arch | pacman | Arch Linux, Manjaro | Entusiastas, software mais recente |
| Alpine | apk | Alpine Linux | Imagens Docker minimalistas |
(4) Por Que os Servidores Rodam Linux
- Gratuito: Sem custos de licença do Windows Server
- Estável: Um servidor pode rodar anos sem reiniciar
- Amigável ao acesso remoto: Gerencie via terminal SSH, sem interface gráfica
- Baixo consumo de recursos: Uma interface de linha de comando precisa de apenas algumas centenas de MB de RAM
- Ecossistema rico: Nginx/MySQL/Python/Node.js priorizam suporte a Linux
- Nativo para contêineres: Docker/Kubernetes rodam nativamente em Linux
(5) ▶ Exemplo: Verificar a Versão do Kernel Linux
uname -r
# Saída de exemplo: 5.15.0-91-generic
Saída:
TEXT 📖 Somente leitura5.15.0-91-generic
(6) ▶ Exemplo: Verificar Informações da Distribuição
lsb_release -a
# Saída de exemplo:
# Distributor ID: Ubuntu
# Description: Ubuntu 22.04.3 LTS
# Release: 22.04
# Codename: jammy
(7) ▶ Exemplo: Verificar o Tempo de Atividade do Sistema
uptime
# Saída de exemplo: 10:23:45 up 187 days, 4 users, load average: 0.08 0.03 0.01
Saída:
TEXT 📖 Somente leitura10:23:45 up 187 days, 4 users, load average: 0.08, 0.03, 0.01
(8) ▶ Exemplo: Verificar Informações de CPU e Memória
# Informações da CPU
lscpu | grep "Model name"
# Memória total
free -h | grep Mem
Saída:
TEXT 📖 Somente leituraModel name: Intel(R) Core(TM) i7-12700K Mem: 15Gi 4.0Gi 11Gi 256Mi 2.0Gi 11Gi
(9) ▶ Exemplo: Comandos de Gerenciamento de Pacotes nas Distribuições
# Debian/Ubuntu
sudo apt install nginx
# RHEL/Fedora/CentOS
sudo yum install nginx # ou dnf
sudo dnf install nginx
# Arch
sudo pacman -S nginx
# Alpine
apk add nginx
Saída:
TEXT 📖 Somente leituraReading package lists... Done Building dependency tree... Done The following NEW packages will be installed: nginx 0 upgraded, 1 newly installed, 0 to remove. Need to get 42.3 kB of archives.
(10) ▶ Exemplo Abrangente: Conheça o Seu Sistema Linux
Faça login em uma máquina Linux (ou WSL) e execute os seguintes comandos para obter informações básicas do sistema:
echo "=== Versão do Kernel ===" && uname -r && \
echo "=== Distribuição ===" && lsb_release -d && \
echo "=== Tempo de Atividade ===" && uptime && \
echo "=== CPU ===" && lscpu | grep "Model name" && \
echo "=== Memória ===" && free -h | grep Mem
❓ Perguntas Frequentes
P: Qual é a diferença entre Linux e Unix? R: Unix é um sistema operacional desenvolvido nos Laboratórios Bell na década de 1970, licenciado comercialmente e de código fechado. Linux é um kernel Unix-like escrito do zero por Linus Torvalds, totalmente aberto e gratuito, sem nenhum código do Unix. O Linux é descrito como "Unix-like".
P: Por que a maioria dos servidores roda Linux? R: Gratuito (sem custos de licença do Windows Server), estável (pode rodar anos sem reiniciar), baixo consumo de recursos (a CLI precisa de apenas algumas centenas de MB de RAM), amigável ao acesso remoto (SSH) e com ecossistema rico (quase todo software de servidor prioriza suporte a Linux).
P: Qual distribuição é melhor para iniciantes? R: \1
P: O Linux no desktop é adequado para uso diário? R: É adequado para trabalho de escritório em geral (navegador/aplicativos de escritório/ferramentas de desenvolvimento), mas ainda tem deficiências: o pacote Adobe não está disponível, alguns jogos não são suportados e o ecossistema Tencent (WeChat/QQ) oferece uma experiência medíocre. Para desenvolvedores, recomendamos Windows/Mac no desktop + WSL/máquina virtual para desenvolvimento.
P: Qual é a relação entre o kernel Linux e o GNU/Linux? R: \1
📖 Resumo
- Linux é um kernel de código aberto criado por Linus Torvalds em 1991
- O sistema operacional completo é chamado GNU/Linux (kernel Linux + conjunto de ferramentas GNU)
- Quatro grandes famílias de distribuições: Debian / RHEL / Arch / Alpine
- O Linux domina o mercado de servidores porque é gratuito, estável, amigável ao acesso remoto e nativo para contêineres
- Ubuntu LTS é recomendado para iniciantes
📝 Exercícios
- Básico (Dificuldade ⭐): Pesquise "participação de mercado do Linux em 2025" e aprenda as diferenças de market share entre os mercados de servidores, desktop e embarcados
- Intermediário (Dificuldade ⭐⭐): Compare Ubuntu e Fedora em seus sites oficiais (desktop vs servidor, estabilidade vs recursos mais novos) e organize os resultados em uma tabela
- Avançado (Dificuldade ⭐⭐⭐): Liste 5 sites/aplicativos que você usa diariamente, descubra se eles rodam em Linux (dica: consulte WhoIsHostingThis) e resuma o papel do Linux na infraestrutura da internet