← voltar para guias
Básico

Linha de comando do zero

Terminal, shell, linha de comando: como funciona, por que todo dev precisa saber usar, e os comandos que aparecem no dia a dia de qualquer área.

A linha de comando parece coisa de filme de hacker, mas na real é a ferramenta mais antiga e simples que existe. Antecede a interface gráfica, foi feita pra ser direto ao ponto: você digita um comando, a máquina executa.

Todo desenvolvedor esbarra no terminal cedo ou tarde. Rodando scripts, fazendo ssh pra um servidor, usando git, debuggando, manipulando arquivos. Para quem trabalha com DevOps, Infosec ou Back-End não é opcional. Pra outras áreas, é útil demais pra ignorar.

A boa notícia: você não precisa decorar nada. No começo é tudo muito estranho, mas depois vira segunda natureza. Este guia desmistifica a coisa e te deixa com os pés no chão.

Por que aprender o terminal

Você já viu alguém automatizar uma tarefa repetitiva rodando um script? Essa pessoa economizou horas de cliques. Na linha de comando, uma coisa que você clicaria 50 vezes num programa vira uma ordem de uma linha.

Servidores remotos não têm interface gráfica. Se você precisa acessar um servidor, configurar algo lá, rodar um deploy, é pelo terminal. Não tem volta.

Ferramentas que todo dev usa nasceram no terminal: git, docker, npm, pip, heroku, aws. Sim, existem interfaces gráficas pra algumas, mas todo mundo que trabalha de verdade usa a linha de comando. É mais rápido, mais confiável, e funciona igual em qualquer máquina.

Aprender o básico te poupa cliques, te torna mais rápido e te coloca no mesmo nível que profissionais de verdade. Windows, macOS e Linux vêm com terminal nativo. No Windows, use WSL2 (Linux dentro do Windows, recomendado). No macOS e Linux, use o bash ou zsh que já vem instalado.

Navegação: onde você está e como se mover

A primeira coisa que você precisa saber é se localizar. Estes cinco comandos resolvem 80% do seu dia:

pwd          # mostra em qual pasta você está agora
ls           # lista arquivos e pastas da pasta atual
ls -la       # lista com detalhes (permissões, dono, tamanho, data)
cd pasta     # entra dentro da pasta "pasta"
cd ..        # volta uma pasta acima

Dicas práticas: ~ é o atalho pra sua pasta de casa. / é a raiz do sistema. Use Tab pra completar nomes: digita cd pro e aperta Tab, ele completa projects pra você. Ctrl+C cancela qualquer comando que tá rodando.

Arquivos e pastas: criar, mover, remover

Aqui estão os comandos que você usa quando quer mexer em arquivos:

mkdir meu-projeto      # cria uma pasta
touch arquivo.txt      # cria um arquivo vazio
cp origem destino      # copia arquivo
mv origem destino      # move ou renomeia
rm arquivo.txt         # remove arquivo (cuidado: sem lixeira!)
rm -r pasta/           # remove pasta e tudo dentro
cat arquivo.txt        # mostra o conteúdo do arquivo na tela

Cuidado com rm: não tem lixeira, ele deleta de verdade. Sempre double-check antes de rodar rm -rf (o -r significa recursivo, -f força sem perguntar).

Se você não conhece um comando, man nome-do-comando abre o manual. Exemplo: man ls mostra todas as opções do ls. Aperte q pra sair.

Comandos que aparecem no dia a dia de dev

Estes comandos você vai rodar o tempo inteiro. Não precisa decorar, mas ajuda conhecer que existem.

# Busca de texto
grep "erro" arquivo.txt        # procura "erro" dentro do arquivo
grep -r "erro" pasta/          # procura recursivo em todas as pastas

# Processos rodando
ps aux | grep node             # lista processos com "node" no nome
kill 1234                      # mata o processo de ID 1234
lsof -i :3000                  # qual processo tá usando a porta 3000

# Rede e download
curl https://api.exemplo.com   # faz uma requisição HTTP e mostra resposta
wget https://url/arquivo.zip   # baixa arquivo pra máquina

# Pipes e redirecionamento
cat arquivo.txt | grep "erro"  # a saída de um comando vira entrada do outro
echo "texto" > arquivo.txt     # escreve em arquivo (sobrescreve tudo)
echo "mais" >> arquivo.txt     # adiciona texto ao final do arquivo

O pipe (|) é poderoso: pega a saída de um comando e passa como entrada pro próximo. Exemplo: cat dados.json | grep "importante" pega o conteúdo do arquivo e filtra só o que tem "importante".

Por onde praticar

A melhor forma de aprender é usando de verdade. Comece no seu dia a dia: em vez de clicar pra navegar pastas, use cd e ls. Em vez de criar arquivo pelo clique direito, use touch. Vai parecer lento no começo, mas em uma semana vira automático.

Se está no Windows, instale WSL2. Abre o terminal, digita wsl --install, e você tem Ubuntu (Linux) rodando direto do seu terminal nativo. Depois é igual macOS e Linux.

Para aprender os detalhes de um comando, tldr nome-do-comando é mais rápido que man. É como um man resumido com exemplos práticos. Instale com npm install -g tldr ou brew install tldr.

Você está pronto quando consegue fazer isso:

- [ ] Sei usar pwd, ls, cd para navegar pastas?
- [ ] Consigo criar, mover e remover arquivos pelo terminal?
- [ ] Entendo o que faz o pipe (|) e já usei pelo menos uma vez?
- [ ] Já rodei pelo menos um script ou comando npm/pip/docker via terminal?

Quando conseguir marcar tudo, você tem o básico sólido. O resto é praticar e descobrir novos comandos conforme precisa.

← voltar para o início