Aula 1: O que é Linux — história, filosofia e por que usar open source
Se você está começando agora no mundo da tecnologia, infraestrutura ou segurança da informação, provavelmente já ouviu falar que Linux está em todos os lugares — de servidores web a smartphones Android, de roteadores domésticos a supercomputadores que processam simulações científicas. Mas a pergunta central que queremos responder nesta primeira aula é justamente esta: o que é Linux, de onde ele veio, quais princípios o sustentam e por que ele se tornou a base da computação moderna? Esta pergunta não é apenas uma curiosidade histórica. Entender o que é Linux é compreender a arquitetura sobre a qual a internet funciona, os sistemas bancários operam e a nuvem pública entrega recursos sob demanda para milhões de empresas no mundo inteiro.
Nesta aula introdutória do curso Linux — Do Zero ao Avançado, você vai mergulhar na origem do sistema, conhecer a filosofia do movimento open source que o tornou possível e descobrir como as licenças de software definem o que você pode ou não fazer com um programa. Tudo isso será explicado do zero absoluto — sem exigir nenhum conhecimento prévio. Se você nunca abriu um terminal na vida, fique tranquilo: cada termo técnico será definido, cada sigla será expandida e cada conceito abstrato será traduzido com analogias práticas do dia a dia. Ao final desta aula, você terá uma base teórica sólida para iniciar a parte prática e entenderá exatamente por que profissionais de TI no mundo inteiro dedicam suas carreiras a dominar este sistema. Em nossos projetos na JRT Technology Solutions, utilizamos Linux diariamente para construir infraestruturas críticas, e esta aula reflete exatamente o conteúdo que consideramos essencial para qualquer novo membro da equipe.
O que você vai conseguir fazer ao final desta aula? Primeiro, você será capaz de explicar com suas próprias palavras o que é Linux e como ele se diferencia de outros sistemas operacionais como Windows e macOS. Segundo, você entenderá a diferença entre software livre, open source e software proprietário — e saberá identificar sob qual licença um programa é distribuído. Terceiro, você conseguirá acessar um terminal Linux (seja em uma máquina virtual, no Windows Subsystem for Linux ou em um servidor remoto) e executar comandos básicos de verificação que confirmarão que o sistema está funcionando. Quarto, você terá um panorama completo da história e da filosofia que moldaram o ecossistema Linux, o que lhe dará confiança para avançar nas próximas aulas com contexto e propósito.
Os pré-requisitos são mínimos: você precisa ter acesso a um computador (Windows, Mac ou até mesmo um Chromebook) e vontade de aprender. Nas seções práticas, mostraremos como acessar um terminal Linux sem precisar instalar nada no seu sistema principal — utilizando ferramentas gratuitas e amplamente documentadas. Se você já tem um Linux instalado, ótimo; se não tem, vamos guiá-lo pelas opções disponíveis. O importante é que, ao terminar esta leitura, você não terá apenas respostas teóricas, mas também terá executado seus primeiros comandos reais em um ambiente Linux funcional. Vamos começar.
O que você vai aprender nesta aula
- Definir o que é Linux como sistema operacional e como kernel, compreendendo a diferença entre kernel e distribuição
- Conhecer a história completa do Linux: do Unix nos anos 1970 ao anúncio de Linus Torvalds em 1991, até os dias atuais
- Entender a filosofia do movimento open source e do software livre, incluindo as quatro liberdades fundamentais
- Dominar os tipos de licenças de software: GPL, MIT, BSD, Apache e licenças proprietárias — com exemplos práticos de cada uma
- Compreender a arquitetura básica de um sistema Linux: kernel, shell, sistema de arquivos e espaço de usuário
- Acessar um terminal Linux e executar os primeiros comandos de verificação do sistema
- Identificar e resolver os erros mais comuns enfrentados por iniciantes ao abrir o terminal pela primeira vez
Pré-requisitos e Ambiente
Para acompanhar esta aula, você não precisa ter nenhum software especial instalado previamente — mas para a parte prática de verificação, você precisará de acesso a um terminal Linux. Se você ainda não tem um Linux rodando, não se preocupe: listamos abaixo quatro opções gratuitas que funcionam em qualquer sistema operacional. Escolha a que melhor se adapta ao seu ambiente e execute os comandos junto com a leitura. Não é obrigatório fazer a prática imediatamente; você pode apenas ler a teoria primeiro e depois voltar para executar os comandos. O importante é que todas as opções abaixo são reais, testadas e utilizadas diariamente por nossos especialistas na JRT Technology Solutions em cenários de desenvolvimento e homologação.
- Opção 1 — Windows Subsystem for Linux (WSL2): disponível no Windows 10/11, permite rodar um kernel Linux completo dentro do Windows. Para instalar, abra o PowerShell como Administrador e execute wsl –install. Após reiniciar, você terá um Ubuntu pronto para uso.
- Opção 2 — Máquina Virtual com VirtualBox: instale o VirtualBox (gratuito) e baixe a ISO do Ubuntu Desktop ou Ubuntu Server. Crie uma máquina virtual com pelo menos 2 GB de RAM e 20 GB de disco. O processo completo de instalação será abordado detalhadamente na Aula 3 deste curso.
- Opção 3 — Servidor cloud gratuito: provedores como AWS (Free Tier), Google Cloud e Oracle Cloud oferecem instâncias gratuitas de Linux que você pode acessar via SSH. Na Aula 12 abordaremos a criação de servidores cloud passo a passo.
- Opção 4 — Live USB: você pode criar um pendrive bootável com Ubuntu e testar o sistema sem instalar nada no seu disco rígido. O sistema roda diretamente da memória RAM e do pendrive.
Para esta aula introdutória, recomendamos a Opção 1 (WSL2) se você usa Windows, pois é a mais rápida de configurar e não exige reinicialização do computador. Se você usa Mac ou Linux nativo, simplesmente abra o aplicativo “Terminal” e prossiga. Todos os comandos mostrados nesta aula funcionarão em qualquer distribuição Linux moderna, incluindo Ubuntu, Debian, Fedora, Rocky Linux e CentOS Stream. Explicaremos as diferenças quando necessário.
O que é Linux — a definição que todo profissional de TI precisa conhecer
Quando perguntamos o que é Linux, a resposta mais rigorosa do ponto de vista técnico é: Linux é um kernel. Kernel (ou núcleo, em português) é a camada mais fundamental de um sistema operacional — o software que atua como ponte direta entre o hardware do computador (processador, memória, discos, teclado, rede) e os programas que você executa (navegador, editor de texto, banco de dados). Pense no kernel como o motor de um carro: você não o vê diretamente, não interage com ele girando uma chave, mas sem ele o carro simplesmente não funciona. O kernel é responsável por gerenciar a memória RAM, escalonar processos (decidir qual programa usa o processador e por quanto tempo), controlar o acesso ao disco rígido e coordenar a comunicação com dispositivos USB, placas de vídeo e interfaces de rede. Tudo isso acontece de forma invisível, milissegundo a milissegundo, enquanto você usa o sistema.
No entanto, no uso cotidiano, quando alguém diz “eu uso Linux”, essa pessoa não está se referindo apenas ao kernel — ela está falando de um sistema operacional completo construído ao redor do kernel Linux. Esse sistema inclui centenas de ferramentas essenciais (os chamados utilitários GNU, como o compilador GCC, o shell Bash, os comandos básicos como ls, cp e grep), bibliotecas compartilhadas, gerenciadores de pacotes e interfaces gráficas como GNOME e KDE. É por isso que muitos defensores do software livre preferem o termo GNU/Linux — para dar crédito ao Projeto GNU, iniciado por Richard Stallman em 1983, que produziu a maior parte das ferramentas que transformaram o kernel Linux em um sistema utilizável. Na prática profissional, você ouvirá os dois termos, e ambos estão corretos dependendo do contexto. Neste curso, usaremos “Linux” para nos referir ao ecossistema completo, mas respeitando a importante distinção conceitual.
Para ilustrar essa diferença com uma analogia: imagine que o kernel Linux é o alicerce e a estrutura de concreto de um prédio. O projeto GNU fornece os canos, a fiação elétrica, as janelas e as portas — os componentes que tornam o prédio habitável. As distribuições Linux (Ubuntu, Fedora, Debian, Arch) são como construtoras que pegam todos esses componentes e os empacotam em apartamentos prontos para morar, cada uma com seu estilo arquitetônico, suas cores e seus acabamentos. Você, como usuário ou administrador de sistemas, escolhe a distribuição que melhor atende às suas necessidades — seja um ambiente estável para servidores corporativos (Red Hat Enterprise Linux, Rocky Linux), seja uma estação de trabalho amigável para desenvolvimento (Ubuntu, Fedora Workstation), seja um sistema mínimo para containers (Alpine Linux).
Um ponto crucial que diferencia o Linux de outros sistemas operacionais é a sua natureza aberta e colaborativa. O kernel Linux é desenvolvido por milhares de programadores espalhados pelo mundo — alguns voluntários, outros empregados por gigantes como Intel, Google, Red Hat (IBM), Samsung e Huawei. Todos contribuem com código que é revisado publicamente, discutido em listas de e-mail abertas e integrado ao repositório oficial mantido por Linus Torvalds e seus tenentes de confiança. Nenhuma empresa individual controla o Linux. Nenhuma entidade pode decidir unilateralmente remover uma funcionalidade ou restringir o acesso ao código-fonte. Essa descentralização radical é a base da resiliência e da longevidade do ecossistema, e é exatamente isso que exploraremos na próxima seção.
A história do Linux — do Unix ao kernel que mudou o mundo
Para compreender verdadeiramente o que é Linux, precisamos voltar no tempo e entender o cenário que o precedeu. A história começa em 1969, nos laboratórios Bell da AT&T, onde Ken Thompson e Dennis Ritchie criaram o Unix — um sistema operacional multitarefa e multiusuário revolucionário para a época. O Unix introduziu conceitos que hoje nos parecem naturais: arquivos organizados em uma árvore hierárquica de diretórios, permissões de leitura/escrita/execução para dono/grupo/outros, redirecionamento de entrada e saída de comandos e a filosofia de “faça uma coisa e faça bem”. O Unix foi reescrito na linguagem C (também criada por Ritchie) em 1973, tornando-o portável para diferentes arquiteturas de hardware — um avanço monumental em uma era em que sistemas operacionais eram escritos em assembly para uma máquina específica.
Durante as décadas de 1970 e 1980, o Unix se espalhou pelas universidades americanas, especialmente pela Universidade da Califórnia em Berkeley, que desenvolveu sua própria variante: o BSD (Berkeley Software Distribution). Enquanto isso, a AT&T comercializava o Unix System V. Essa bifurcação gerou uma guerra de padrões conhecida como “Unix Wars”, que fragmentou o mercado e abriu espaço para alternativas. No ambiente acadêmico, contudo, o Unix era tratado como ferramenta de ensino e pesquisa — até que, em 1984, a AT&T começou a impor licenças comerciais restritivas que proibiam o compartilhamento do código-fonte, encerrando a era de ouro da colaboração universitária em torno do Unix.
Foi nesse contexto que Richard Stallman, um programador brilhante do MIT profundamente incomodado com a cultura de fechamento do código, lançou o Projeto GNU em 1983. O objetivo era monumental: criar um sistema operacional completo e totalmente livre, compatível com Unix, que qualquer pessoa pudesse usar, estudar, modificar e redistribuir sem restrições. Stallman cunhou o termo software livre (free software) e fundou a Free Software Foundation (FSF) em 1985 para dar suporte jurídico e filosófico ao movimento. A palavra “free” em inglês tem duplo sentido — “grátis” e “livre” — e Stallman sempre enfatizou que se trata de liberdade, não de preço: “pense em free speech (liberdade de expressão), não em free beer (cerveja grátis)”. O Projeto GNU produziu ferramentas essenciais como o compilador GCC, o editor Emacs, o shell Bash e centenas de utilitários. No início dos anos 1990, o sistema GNU estava quase completo — faltava apenas o kernel.
O kernel que faltava veio de Helsinque, Finlândia. Em 25 de agosto de 1991, um jovem estudante de ciência da computação chamado Linus Torvalds postou uma mensagem no grupo de notícias comp.os.minix que entraria para a história. Ele escreveu: “Estou fazendo um sistema operacional (livre) — é apenas um hobby, não será grande e profissional como o GNU”. Aquele “hobby” rodava em processadores Intel 80386, aproveitava recursos como modo protegido e paginação de memória, e estava sendo desenvolvido com ferramentas do Projeto GNU. Torvalds licenciou seu kernel sob a GNU General Public License (GPL) em 1992 — uma decisão estratégica que garantiu que o kernel permaneceria livre para sempre e que qualquer melhoria feita por terceiros também deveria ser compartilhada com a comunidade. O casamento entre o kernel Linux e as ferramentas GNU produziu o sistema operacional que conhecemos hoje como GNU/Linux.
O resto é crescimento exponencial. Em 1994, foi lançada a versão 1.0 do kernel. Em 1996, surgiu o mascote Tux, um pinguim simpático que representa o Linux até hoje. Grandes empresas como IBM, Oracle e HP começaram a investir bilhões de dólares no ecossistema. A Red Hat fez seu IPO na bolsa de valores em 1999. O Google lançou o Android em 2008 — baseado no kernel Linux. Em 2026, o kernel Linux tem mais de 30 milhões de linhas de código, recebe contribuições de mais de 20 mil desenvolvedores por ano e roda nos 500 supercomputadores mais rápidos do mundo, em mais de 90% dos servidores cloud e em bilhões de dispositivos embarcados. Um hobby que se tornou a espinha dorsal da civilização digital.
Software livre, open source e as licenças que regem o ecossistema
Uma das perguntas mais comuns de quem começa a investigar o que é Linux diz respeito à diferença entre “software livre” e “open source”. Embora muitas vezes sejam tratados como sinônimos, existem distinções filosóficas e históricas importantes que afetam diretamente como você pode usar, modificar e redistribuir um software — inclusive em ambientes corporativos. Vamos esclarecer cada termo e, em seguida, mergulhar fundo nos tipos de licenças que você encontrará ao longo da sua carreira em TI.
Software livre (free software) é um conceito cunhado por Richard Stallman e a Free Software Foundation que enfatiza a liberdade do usuário. Um programa é considerado software livre se garante ao usuário quatro liberdades fundamentais: (0) a liberdade de executar o programa como desejar, para qualquer propósito; (1) a liberdade de estudar como o programa funciona e adaptá-lo às suas necessidades — o que pressupõe acesso ao código-fonte; (2) a liberdade de redistribuir cópias para ajudar outras pessoas; e (3) a liberdade de distribuir cópias de suas versões modificadas, dando à comunidade a chance de se beneficiar das suas melhorias. Note que a numeração começa em zero — uma escolha intencional de Stallman, que brinca que programadores contam a partir de zero. O foco aqui é ético e social: para a FSF, software que não respeita essas liberdades é um problema moral porque priva os usuários de controle sobre sua própria computação.
Open source (código aberto) surgiu como um termo em 1998, cunhado por Christine Peterson e promovido por figuras como Eric S. Raymond e Bruce Perens com a fundação da Open Source Initiative (OSI). A motivação era pragmática: muitos desenvolvedores e empresas concordavam com os benefícios práticos do código aberto (maior qualidade, menos bugs, desenvolvimento mais rápido, independência de fornecedor), mas se sentiam desconfortáveis com a retórica moral da FSF, que eles consideravam excessivamente ideológica e hostil ao mundo corporativo. O termo “open source” foi escolhido deliberadamente para soar neutro, técnico e empresarialmente aceitável. A OSI mantém uma definição formal de open source com dez critérios (a Open Source Definition) que incluem redistribuição livre, acesso ao código-fonte, permissão para trabalhos derivados e não discriminação contra pessoas, grupos ou campos de atuação. Na prática, quase todo software livre também é open source, e vice-versa — mas a diferença está na ênfase: liberdade versus eficiência.
Agora que entendemos os movimentos, vamos ao que realmente importa no dia a dia: as licenças. Uma licença de software é um contrato legal entre o autor do programa e o usuário, definindo o que o usuário pode ou não fazer com aquele código. Apresentamos a seguir uma tabela de referência com as principais licenças do ecossistema Linux e open source, com exemplos concretos de uso.
| Licença | Tipo | Copyleft? | Permite uso comercial? | Permite modificação fechada? | Exemplos de uso |
|---|---|---|---|---|---|
| GPL v3 | Copyleft forte | Sim | Sim | Não — obras derivadas devem manter a GPL | Kernel Linux, GCC, Bash, Ansible |
| LGPL | Copyleft fraco | Parcial | Sim | Sim — se usado como biblioteca linkada | GLibC, GTK, Qt (versões antigas) |
| MIT | Permissiva | Não | Sim | Sim — pode ser integrado em software proprietário | Node.js, React, jQuery, X11 |
| BSD 3-Clause | Permissiva | Não | Sim | Sim — exige atribuição e isenção de garantia | FreeBSD, OpenSSH, Nginx, Go (linguagem) |
| Apache 2.0 | Permissiva | Não | Sim | Sim — inclui concessão de patentes | Kubernetes, Docker, Apache HTTP Server, Hadoop |
| Proprietária | Fechada | Não | Depende do contrato | Não — código-fonte não é disponibilizado | Microsoft Windows, Adobe Photoshop, Oracle DB |
Vamos detalhar cada licença com exemplos práticos do que ela significa para você como usuário e como profissional de TI.
GNU General Public License (GPL) — esta é a licença sob a qual o kernel Linux é distribuído, e seu princípio central é o copyleft: uma engenhosa inversão do copyright tradicional. Enquanto o copyright diz “todos os direitos reservados”, o copyleft diz “todos os direitos revertidos” — você tem o direito de usar, modificar e redistribuir o software, mas se você distribuir uma versão modificada, é obrigado a distribuí-la sob a mesma licença GPL, com o código-fonte disponível. Isso significa que uma empresa não pode pegar o kernel Linux, adicionar funcionalidades proprietárias e vender o resultado sem compartilhar essas modificações. Esse mecanismo impede que o trabalho coletivo da comunidade seja apropriado e fechado por interesses privados. Na GPL v3, adicionaram-se proteções contra “tivoização” (dispositivos que executam software GPL mas bloqueiam versões modificadas) e cláusulas de patentes. Quando você executa o comando uname -r em um terminal Linux, o kernel que responde está protegido pela GPL v2.
Licenças permissivas (MIT, BSD, Apache) — diferentemente da GPL, estas licenças não impõem a obrigação de compartilhar modificações. Você pode pegar um código sob licença MIT, modificá-lo extensivamente, integrá-lo a um produto comercial e vendê-lo como software proprietário, desde que mantenha o aviso de copyright original e a isenção de garantia. A licença MIT, criada no Massachusetts Institute of Technology, é extremamente curta (cerca de 200 palavras) e é a preferida em ecossistemas como Node.js e React porque facilita a adoção por empresas que não querem se preocupar com obrigações de compartilhamento. A licença BSD é similar, mas sua versão de 3 cláusulas adiciona uma restrição contra o uso do nome dos autores para endosso sem permissão. Já a Apache 2.0, muito usada em projetos corporativos como Kubernetes e Docker, inclui uma concessão explícita de patentes — ou seja, contribuidores que detêm patentes sobre o código concedem automaticamente uma licença de uso dessas patentes para todos os usuários do software, evitando “armadilhas de patentes”.
Licenças proprietárias (comerciais fechadas) — neste modelo, o código-fonte não é disponibilizado ao usuário. Você adquire uma licença de uso (perpétua ou por assinatura) que especifica exatamente o que pode fazer: em quantos computadores pode instalar, se pode revender, se pode fazer engenharia reversa (quase nunca) e quais garantias o fornecedor oferece. Exemplos incluem o Microsoft Windows, o Adobe Photoshop e o Oracle Database. Nada impede que softwares proprietários rodem sobre Linux — o sistema operacional pode ser livre enquanto as aplicações que rodam sobre ele são pagas e fechadas. Em nossos projetos na JRT Technology Solutions, frequentemente implantamos bancos de dados proprietários sobre servidores Linux, aproveitando a estabilidade e o desempenho do sistema operacional livre combinados com o suporte comercial do fabricante do banco.
Por que isso importa na prática? Porque a licença determina o que você pode fazer legalmente. Se você é um desenvolvedor e quer usar uma biblioteca open source no seu produto, precisa verificar a licença: se for GPL e seu produto for distribuído, você será obrigado a abrir o código do seu produto também. Se for MIT, não há essa obrigatoriedade. Se você é um administrador de sistemas e precisa modificar o código-fonte de uma ferramenta para corrigir um bug urgente, as licenças open source lhe garantem esse direito — algo impossível com software proprietário, onde você depende do fornecedor para lançar um patch. Essas diferenças têm implicações jurídicas, estratégicas e financeiras que afetam desde startups até grandes corporações. Dominar os tipos de licenças é uma habilidade básica que fará você se destacar em entrevistas e projetos reais.
Arquitetura do Linux — as camadas que compõem o sistema
Compreender o que é Linux exige visualizar sua arquitetura em camadas concêntricas, como as camadas de uma cebola — ou, se preferir uma analogia mais profissional, como a pilha de protocolos de rede que você estudará mais adiante. Cada camada tem responsabilidades específicas e se comunica com as camadas adjacentes através de interfaces bem definidas. Vamos percorrer essas camadas de dentro para fora, do hardware ao usuário final.
No centro de tudo está o hardware — o computador físico com seu processador (CPU), memória RAM, discos rígidos (HDD ou SSD), interfaces de rede, portas USB, placa gráfica e demais periféricos. Acima do hardware, a primeira camada de software é o kernel Linux, que se subdivide em subsistemas: gerenciamento de processos (escalonador CFS — Completely Fair Scheduler), gerenciamento de memória (incluindo memória virtual e paginação), sistema de arquivos virtual (VFS — Virtual File System, que permite que diferentes sistemas de arquivos como ext4, XFS, NTFS e NFS coexistam sob uma interface unificada), pilha de rede (TCP/IP, sockets, filtragem de pacotes com netfilter/iptables) e drivers de dispositivos (módulos que ensinam o kernel a “conversar” com hardware específico). O kernel Linux é monolítico — o que significa que todos esses subsistemas rodam em um único espaço de memória privilegiado (modo kernel) — mas com suporte a módulos carregáveis dinamicamente (loadable kernel modules ou LKMs), que permitem adicionar suporte a hardware ou funcionalidades sem recompilar ou reiniciar o sistema.
A camada seguinte é composta pelas bibliotecas do sistema (system libraries), sendo a mais importante a glibc (GNU C Library). As bibliotecas fornecem funções padronizadas que os programas usam para interagir com o kernel: abrir arquivos (fopen), alocar memória (malloc), criar conexões de rede (socket), manipular strings e muito mais. Sem a glibc, cada programa precisaria implementar essas funcionalidades do zero e fazer chamadas diretas ao kernel através de syscalls (system calls), o que seria terrivelmente trabalhoso e propenso a erros. As bibliotecas encapsulam a complexidade das syscalls em APIs (Interfaces de Programação de Aplicações) estáveis e documentadas. Existem alternativas à glibc para cenários específicos — como a musl libc para sistemas embarcados e containers minimalistas (usada no Alpine Linux) — mas a glibc continua sendo o padrão na maioria das distribuições.
Subindo mais um degrau, encontramos os utilitários do sistema e o shell. Aqui é onde você, como usuário ou administrador, interage diretamente com o Linux. O shell (casca, em português) é um programa que interpreta comandos digitados pelo usuário e os traduz em ações — iniciar processos, redirecionar entradas e saídas, encadear comandos em pipelines. O shell mais comum no mundo Linux é o Bash (Bourne Again Shell), mas existem outros como Zsh, Fish e Dash. Junto com o shell vêm centenas de utilitários essenciais: ls para listar arquivos, cp para copiar, mv para mover, rm para remover, grep para buscar texto, awk e sed para processamento de texto, ssh para acesso remoto seguro, systemd ou SysVinit para gerenciamento de serviços. Esta camada é o coração da administração de sistemas Linux — é aqui que você passará a maior parte do tempo como profissional de infraestrutura.
No topo da pilha, opcionalmente, reside o ambiente gráfico (GUI — Graphical User Interface), composto por um servidor de exibição (Xorg ou Wayland), um gerenciador de janelas (Mutter no GNOME, KWin no KDE) e um ambiente de desktop completo com painéis, menus, ícones e aplicativos gráficos. Servidores Linux de produção geralmente não possuem interface gráfica — toda a administração é feita via linha de comando (CLI — Command Line Interface), que é mais leve, mais rápida e mais adequada para automação. Estações de trabalho e desktops, por outro lado, oferecem experiências gráficas comparáveis (e em muitos aspectos superiores) ao Windows e macOS. O importante é entender que a GUI é uma camada opcional sobre o núcleo sólido do sistema — ao contrário do Windows, onde a GUI é parte indissociável do sistema operacional.
Distribuições Linux — qual escolher e por quê
Quando você decide “usar Linux”, não baixa simplesmente “o Linux” — você escolhe uma distribuição (ou distro). Uma distribuição é um conjunto empacotado que inclui o kernel Linux, utilitários GNU, um gerenciador de pacotes, repositórios de software curados, configurações padrão e, frequentemente, um instalador amigável. Existem centenas de distribuições ativas, cada uma com seu propósito, sua comunidade e sua filosofia. Para ajudar você a navegar nesse ecossistema diverso — e em nossos projetos na JRT Technology Solutions lidamos com várias delas — preparamos uma tabela com as principais famílias e seus casos de uso.
| Distribuição | Família | Gerenciador de pacotes | Público-alvo | Ciclo de lançamento | Destaque |
|---|---|---|---|---|---|
| Ubuntu | Debian | APT (dpkg) | Iniciantes, desenvolvedores, servidores cloud | LTS a cada 2 anos + versões intermediárias a cada 6 meses | Maior comunidade, vasta documentação e tutoriais |
| Debian | Debian | APT (dpkg) | Servidores estáveis, usuários avançados | Estável (~2 anos), Testing, Unstable (rolling) | Estabilidade lendária; base para Ubuntu, Kali Linux e dezenas de distros |
| Fedora | Red Hat | DNF (RPM) | Desenvolvedores, entusiastas, desktop moderno | Novas versões a cada ~6 meses | Tecnologias de ponta; upstream do Red Hat Enterprise Linux |
| Rocky Linux / AlmaLinux | Red Hat | DNF (RPM) | Servidores corporativos, produção | Segue o ciclo do RHEL (~3 anos por versão maior) | Alternativas gratuitas e compatíveis binariamente com RHEL |
| Arch Linux | Independente | pacman | Usuários avançados, personalização extrema | Rolling release (atualizações contínuas) | Modelo DIY; amplamente usado em desktop por entusiastas |
| Kali Linux | Debian | APT (dpkg) | Profissionais de segurança ofensiva, pentesters | Rolling release | Pré-carregado com centenas de ferramentas de segurança |
Para este curso, recomendamos que você utilize Ubuntu (versão LTS mais recente) como distribuição principal para aprendizado. Ubuntu é a distribuição mais amigável para iniciantes, com a maior base de documentação em português e inglês, e é a mesma que usamos em muitos ambientes de treinamento na JRT Technology Solutions. Se você trabalha em uma empresa que padroniza Red Hat Enterprise Linux (RHEL), Rocky Linux ou AlmaLinux, todos os comandos fundamentais que ensinaremos (shell, permissões, processos, rede) são idênticos — a diferença está principalmente no gerenciador de pacotes, que abordaremos com exemplos para ambas as famílias sempre que relevante.
Primeiro contato com o terminal — comandos essenciais de verificação
Chegou o momento de colocar a mão na massa. Se você ainda não configurou um ambiente Linux, volte à seção de pré-requisitos e escolha uma das opções (WSL2 é a mais rápida). Abra seu terminal — no Ubuntu ou WSL, procure por “Terminal” no menu de aplicativos; no Mac, abra o aplicativo Terminal.app e conecte-se via SSH a uma máquina Linux se disponível. O terminal apresentará um prompt, que é a linha onde você digita comandos. Ele geralmente tem este formato:
usuario@hostname:~$
As partes do prompt são: usuario (seu nome de login), @ (símbolo “at”, que significa “em”), hostname (o nome da máquina), ~ (til, que representa seu diretório pessoal, ou home) e $ (cifrão, que indica que você está logado como usuário comum — quando for root, o administrador do sistema, aparecerá # no lugar do $). Vamos executar uma sequência de comandos básicos para confirmar que seu Linux está funcionando e para você começar a se familiarizar com a linha de comando. Digite cada comando exatamente como mostrado e pressione Enter. Explicaremos cada um linha por linha.
# 1. Descobrir qual usuário está logado
whoami
# 2. Mostrar o nome da máquina (hostname)
hostname
# 3. Exibir informações do kernel Linux em execução
uname -a
# 4. Mostrar a versão específica do kernel
uname -r
# 5. Listar o conteúdo do diretório atual
ls
# 6. Mostrar o caminho completo do diretório onde você está
pwd
# 7. Exibir a data e hora do sistema
date
# 8. Mostrar há quanto tempo o sistema está ligado (uptime)
uptime
# 9. Verificar o espaço em disco disponível (de forma legível para humanos)
df -h
# 10. Exibir o conteúdo de um arquivo especial que identifica o sistema operacional
cat /etc/os-release
Agora vamos entender cada comando e suas opções. whoami (literalmente “quem sou eu”) retorna o nome do usuário logado no terminal — útil quando você gerencia múltiplas sessões e não quer cometer o erro de executar um comando crítico como o usuário errado. hostname exibe o nome da máquina na rede; em servidores, esse nome deve ser descritivo (ex: db-producao-01). uname -a é um comando riquíssimo: uname significa “Unix name”, a opção -a (all) mostra todas as informações disponíveis: nome do kernel, hostname, versão do kernel, data de compilação, arquitetura do processador e sistema operacional. A opção -r (release) mostra apenas a versão do kernel — algo como 6.8.0-45-generic, onde 6 é a versão principal, 8 a secundária, 0 a revisão, e “generic” indica que é um kernel de propósito geral.
ls (list) lista arquivos e diretórios no diretório corrente. Sem argumentos, mostra nomes de arquivos e pastas. pwd (print working directory) mostra o caminho completo até o diretório onde você está — essencial para se localizar na árvore de diretórios. date exibe a data e hora do sistema, e uptime informa há quanto tempo o sistema está rodando continuamente, quantos usuários estão logados e a média de carga (load average) nos últimos 1, 5 e 15 minutos — um indicador fundamental da saúde do servidor. df -h (disk free) reporta o espaço em disco de todos os sistemas de arquivos montados; a opção -h (human-readable) converte bytes para formatos legíveis como “50G” ou “200M”. Por fim, cat /etc/os-release é um comando que usaremos muito: cat (concatenate) exibe o conteúdo de um arquivo na tela, e /etc/os-release é um arquivo de configuração padrão presente em todas as distribuições Linux modernas que identifica qual distribuição você está usando, sua versão e seu codinome.
Abaixo está um exemplo real da saída desses comandos em um Ubuntu 24.04 LTS executando via WSL2 no Windows 11. Sua saída pode variar nos números de versão e hardware, mas a estrutura será idêntica.
$ whoami
aluno
$ hostname
lab-linux-01
$ uname -a
Linux lab-linux-01 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 10:30:00 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
$ uname -r
6.8.0-45-generic
$ ls
Documentos Downloads Imagens Modelos Música Público Vídeos
$ pwd
/home/aluno
$ date
Qua Jun 17 14:32:10 -03 2026
$ uptime
14:32:11 up 3 days, 2:15, 1 user, load average: 0.05, 0.12, 0.09
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 250G 45G 193G 19% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 2.1M 1.6G 1% /run
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
Observe cada detalhe da saída. Em uname -a, vemos que o kernel é Linux, o hostname é lab-linux-01, a versão do kernel é 6.8.0-45-generic, compilado para arquitetura x86_64 (processadores Intel/AMD de 64 bits). Em df -h, notamos que a raiz do sistema de arquivos (/) está montada em /dev/sdc com 250 GB totais e 45 GB usados. Em cat /etc/os-release, identificamos que o sistema é Ubuntu 24.04.1 LTS, de codinome “Noble Numbat”, e que ele se identifica como pertencente à família Debian (ID_LIKE=debian) — isso é crucial para scripts de automação que precisam se adaptar ao gerenciador de pacotes correto. Se você executou esses comandos e viu saídas similares, parabéns: você está oficialmente dentro de um sistema Linux funcional.
Onde o Linux é usado — casos reais que você encontra no dia a dia
Uma pergunta que frequentemente surge ao estudar o que é Linux é: “se o Linux é tão bom, por que não vejo ele em todos os computadores?”. A resposta é que você vê — só não percebe. O Linux é onipresente em infraestrutura e sistemas embarcados, e sua presença em desktops cresce ano após ano, especialmente entre desenvolvedores e profissionais de segurança. Vamos mapear onde o Linux está presente na sua vida digital.
Servidores web e infraestrutura cloud: mais de 90% dos servidores que hospedam sites, APIs e bancos de dados rodam Linux. Quando você acessa Google, Facebook, Netflix, Uber ou qualquer grande serviço online, suas requisições são processadas por dezenas de milhares de servidores Linux orquestrados por ferramentas como Kubernetes e Docker (que também rodam sobre Linux). Os três maiores provedores de nuvem do mundo — AWS, Microsoft Azure e Google Cloud — oferecem Linux como sistema operacional padrão para instâncias virtuais. A elasticidade, o desempenho e o custo zero de licenciamento tornam o Linux imbatível nesse segmento.
Dispositivos móveis e embarcados: se você tem um smartphone Android, está usando o kernel Linux. O Android é uma pilha de software que roda sobre um kernel Linux modificado — e com mais de 3 bilhões de dispositivos ativos, isso faz do Linux o kernel mais utilizado do planeta em número de instalações. Roteadores domésticos (TP-Link, D-Link, ASUS), smart TVs (Samsung Tizen, LG webOS), dispositivos IoT, sistemas de infoentretenimento automotivo e até mesmo rob
Quer aprender na prática com especialistas?
A JRT Technology Solutions oferece treinamentos e implementação de Linux para equipes corporativas.