-
Notifications
You must be signed in to change notification settings - Fork 0
Linux
Conceitos fundamentais sobre o Linux, comandos essenciais do terminal e fluxo de trabalho com Git.
- Por que as Big Techs usam Linux
- Estabilidade do Linux
- Conceitos Básicos
- Comandos de Sistema (apt)
- Atalhos do Terminal e do Sistema
- Git — Controle de Versão
- Recursos para Estudo
As principais empresas de tecnologia do mundo (Google, Amazon, Meta, Microsoft, Apple) rodam seus serviços em sistemas baseados em Linux. Os motivos principais:
| Motivo | Explicação |
|---|---|
| Estabilidade e desempenho | Rápido, confiável e projetado para grandes servidores e datacenters |
| Segurança | Código aberto — especialistas do mundo todo podem encontrar e corrigir falhas rapidamente |
| Custo | Gratuito, sem licenças caras como as do Windows Server |
| Personalização | Cada empresa adapta o sistema para suas necessidades (ex: Android é baseado em Linux) |
| Comunidade e inovação | Evolui rápido graças à colaboração global de desenvolvedores |
| Empresa | Uso do Linux |
|---|---|
| Servidores web e infraestrutura; Android é baseado no kernel Linux | |
| Amazon (AWS) | A maior nuvem do mundo roda principalmente em Linux |
| Meta | Datacenters e serviços em nuvem |
| Microsoft | Azure (nuvem da Microsoft) tem mais VMs Linux que Windows |
O Linux foi projetado desde o início para servidores e uso contínuo — ambientes onde parar não é opção. Bancos, governos e hospitais dependem de sistemas que precisam funcionar 24/7/365.
| Característica | Linux | Windows (comparação) |
|---|---|---|
| Uptime | Pode ficar anos sem reiniciar | Atualizações frequentemente exigem reboot |
| Atualizações | Maioria não exige reboot (só troca de kernel) | Muitas atualizações exigem reinicialização |
| Gerenciamento de memória | Libera memória eficientemente — evita vazamentos a longo prazo | Mais propenso a degradação com o tempo |
| Kernel | Modular — drivers podem ser carregados/atualizados sem reiniciar | Kernel mais acoplado |
| Software instalado | Instala apenas o necessário | Vem com muitos serviços e programas pré-instalados |
💡 Uptime é o tempo que o sistema fica ligado sem reiniciar. Use
uptimeno terminal para ver há quanto tempo o servidor está rodando.
Case Sensitive
O Linux diferencia letras maiúsculas de minúsculas em nomes de arquivos, comandos e pastas. Arquivo.txt, arquivo.txt e ARQUIVO.TXT são três arquivos diferentes.
⚠️ Esse é um dos erros mais comuns para quem vem do Windows. No Linux,cd Documentosecd documentossão comandos diferentes.
Estrutura de um comando Linux
sudo apt install nome-do-pacote
│ │ │ │
│ │ │ └─ argumento (o que instalar)
│ │ └─ subcomando (ação do apt)
│ └─ comando principal
└─ prefixo de privilégio (executa como root)
sudo — Superuser Do
Executa o comando seguinte com privilégios de administrador (root). O Linux, por segurança, não deixa o usuário comum fazer alterações no sistema diretamente.
💡 Em vez de ficar logado como root o tempo todo (arriscado), usa-se
sudosó quando necessário — princípio do menor privilégio.
apt — Advanced Package Tool
Gerenciador de pacotes do Debian/Ubuntu. Baixa e instala programas diretamente dos repositórios oficiais — fontes verificadas e seguras, diferente de baixar instaladores aleatórios da internet.
| Comando | O que faz | Quando usar |
|---|---|---|
sudo apt update |
Atualiza a lista de pacotes disponíveis nos repositórios | Antes de qualquer instalação ou upgrade |
sudo apt upgrade |
Instala as atualizações disponíveis nos pacotes instalados | Manutenção regular do sistema |
sudo apt full-upgrade |
Upgrade forçado — pode remover pacotes para resolver conflitos | Quando o upgrade normal não resolve |
sudo apt dist-upgrade |
Atualiza o sistema operacional inteiro, incluindo o kernel | Migração entre versões do Debian/Ubuntu |
sudo apt autoremove |
Remove pacotes que foram instalados como dependência e não são mais necessários | Limpeza após upgrades |
sudo apt autoclean |
Remove arquivos de instalação (.deb) em cache que não são mais necessários | Liberar espaço em disco |
💡 A sequência recomendada para manter o sistema atualizado:
sudo apt update && sudo apt upgradeO
&&executa o segundo comando só se o primeiro tiver sucesso.
💡 O arquivo
/etc/apt/sources.listcontém os endereços dos repositórios que oapt updateconsulta. Alterar esse arquivo permite adicionar repositórios de terceiros.
| Comando | O que faz |
|---|---|
sudo apt install <pacote> |
Instala um pacote |
sudo apt remove <pacote> |
Remove o pacote (mantém os arquivos de configuração) |
sudo apt purge <pacote> |
Remove o pacote e seus arquivos de configuração |
| Atalho | Ação | Por que é útil |
|---|---|---|
Tab |
Auto-completar comando, caminho ou nome de arquivo | Economiza digitação e evita erros de digitação |
Tab Tab (dois tabs) |
Lista todas as opções possíveis para completar | Ver todas as alternativas disponíveis |
Ctrl + L |
Limpa a tela (equivale ao clear) |
Organizar a visualização sem fechar o terminal |
Ctrl + D |
Encerra a sessão atual (equivale ao exit) |
Fechar o terminal ou fazer logoff |
Ctrl + C |
Interrompe o comando em execução | Parar um processo que está rodando (ex: ping -t) |
Ctrl + Z |
Suspende o processo atual (coloca em background) | Pausar temporariamente um processo |
↑ / ↓ |
Navega pelo histórico de comandos | Reutilizar comandos anteriores sem redigitar |
| Atalho | Ação |
|---|---|
Ctrl + Alt + T |
Abre o terminal |
Ctrl + Alt + L |
Bloqueia a tela |
Ctrl + Alt + Backspace |
Finaliza o ambiente gráfico (mata o servidor X) |
Ctrl + Alt + F1 a F6
|
Alterna para terminais virtuais (modo texto puro) |
Ctrl + Alt + F7 |
Volta para o ambiente gráfico |
💡 Os terminais virtuais (
F1–F6) são sessões de terminal independentes do ambiente gráfico — úteis para diagnosticar problemas quando a interface gráfica trava.
O Git é um sistema de controle de versão distribuído — registra o histórico completo de alterações de um projeto, permitindo voltar a versões anteriores, trabalhar em equipe e sincronizar código com repositórios remotos como o GitHub.
Antes de usar o Git, configure sua identidade — ela aparece em todos os commits que você fizer:
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"Verificar as configurações salvas:
git config --list💡
--globalaplica a configuração para todos os repositórios do seu usuário. Sem--global, a configuração vale apenas para o repositório atual.
git comando --opcao-longa -o argumento
│ │ │ │ │
│ │ │ │ └─ o que o comando afeta
│ │ │ └─ opção curta (ex: -m)
│ │ └─ opção longa (ex: --global, --list)
│ └─ subcomando (clone, pull, push...)
└─ o programa
| Símbolo | Significado | Exemplo |
|---|---|---|
-- (dois hifens) |
Início de uma opção longa |
--global, --list
|
- (um hífen) |
Opção curta (uma letra) |
-m em git commit -m
|
-- (sozinho) |
Separa opções de nomes de arquivos ou branches | git checkout -- arquivo.txt |
Repositório remoto (GitHub)
│
git clone ← baixa o repositório pela primeira vez
│
[você edita arquivos localmente]
│
git add . ← prepara as alterações para o commit
│
git commit -m "" ← registra as alterações com uma mensagem
│
git push ← envia para o repositório remoto
│
git pull ← atualiza o local com as mudanças remotas
| Comando | O que faz | Quando usar |
|---|---|---|
git clone <url> |
Baixa uma cópia completa do repositório remoto | Primeira vez que você vai trabalhar em um projeto |
git pull |
Atualiza o repositório local com as alterações do remoto | Antes de começar a trabalhar — evita conflitos |
git add . |
Adiciona todas as alterações à área de staging | Preparar tudo para o próximo commit |
git add <arquivo> |
Adiciona apenas um arquivo específico ao staging | Quando quer commitar só parte das mudanças |
git commit -m "mensagem" |
Salva as alterações do staging com uma descrição | Após cada conjunto de mudanças relacionadas |
git push |
Envia os commits locais para o repositório remoto | Após commitar, para sincronizar com o GitHub |
git status |
Mostra quais arquivos foram alterados, adicionados ou estão pendentes | Verificar o estado atual antes de commitar |
git log |
Exibe o histórico de commits do projeto | Ver o que foi alterado e por quem |
git config --list |
Lista todas as configurações do Git no ambiente atual | Verificar se nome e e-mail estão configurados |
💡 Boas mensagens de commit fazem diferença: prefira
"Adiciona configuração de IP fixo"a"atualização". Em projetos em equipe, o histórico de commits é a documentação do que foi feito e por quê.
💡 O
git pullantes de começar a trabalhar é um hábito essencial em equipe — evita conflitos quando outra pessoa já modificou os arquivos que você vai editar.
| Recurso | O que oferece |
|---|---|
| Guia Foca Linux | Guia completo em português — do básico ao intermediário |
| SS64 — Referência Bash | Referência rápida de todos os comandos do Bash |
| Distrosea | Testa distribuições Linux direto no navegador sem instalar nada |
💡 O Distrosea é excelente para experimentar o terminal de diferentes distribuições (Ubuntu, Debian, Arch, etc.) sem precisar de uma VM ou instalação. Ótimo para praticar comandos.
Documentação produzida durante o Curso Técnico de Informática — Senac Tatuapé