## glossário

O que é CLI?

CLI (Command Line Interface, ou Interface de Linha de Comando) é a forma de interagir com um programa ou sistema operacional digitando comandos em texto, em vez de clicar em elementos gráficos. É a interface mais antiga da computação — e segue sendo a preferida de quem desenvolve software.

A razão da permanência não é nostalgia. Um comando é preciso (não há ambiguidade no que foi pedido), reproduzível (pode ser salvo, versionado e reexecutado) e combinável (a saída de um vira entrada de outro).

Anatomia de um comando

As partes que compõem uma instrução
git commit -m "corrige cálculo de frete" --no-verify
│    │      │                                 │
│    │      └─ flag curta com argumento        └─ flag longa
│    └─ subcomando
└─ programa

# combinando comandos: a saída de um alimenta o outro
cat acesso.log | grep "500" | wc -l

Aquele último exemplo mostra o poder real da CLI. Três programas simples, cada um fazendo uma coisa, encadeados por pipes para responder "quantos erros 500 tivemos?". Nenhum deles foi escrito pensando nos outros — essa é a filosofia Unix em ação.

CLI, terminal e shell: não são sinônimos

  • Terminal — o programa com a janela preta (Terminal.app, iTerm2, Windows Terminal). É só o emulador que exibe texto.
  • Shell — o interpretador que lê o que você digita e executa: Bash, Zsh, Fish, PowerShell. Veja o verbete Shell.
  • CLI — o conceito de interface por comandos, e também cada programa específico que a expõe (git, docker, npm).

Por que desenvolvedores dependem da CLI

Praticamente toda a cadeia de desenvolvimento moderna é operada por linha de comando: Git para versionar, npm ou pnpm para dependências, Docker para containers, kubectl para clusters. Mais importante, é o que torna a automação possível — um pipeline de CI/CD nada mais é que uma sequência de comandos executada por uma máquina. Não existe interface gráfica em um runner de build.

Comandos que vale conhecer

Navegação e inspeção no dia a dia
pwd                  # onde estou
ls -lah              # lista arquivos, incluindo ocultos, com tamanho legível
cd ../projetos       # navega entre diretórios
find . -name "*.log" # busca arquivos por padrão
grep -rn "TODO" src/ # busca texto dentro dos arquivos
tail -f app.log      # acompanha um log em tempo real
chmod +x deploy.sh   # torna um script executável

## faq

Perguntas frequentes

CLI é o mesmo que terminal?

Não. O terminal é a janela que exibe texto e recebe o que você digita. A CLI é a interface de comandos em si, interpretada pelo shell. Na conversa do dia a dia os termos se misturam, mas tecnicamente são camadas distintas.

Vale a pena aprender CLI se existe interface gráfica para tudo?

Vale, por três razões: automação (comandos viram scripts, cliques não), acesso remoto (servidores raramente têm interface gráfica) e velocidade em tarefas repetitivas. Além disso, muitas ferramentas expõem na CLI recursos que a interface gráfica nem oferece.

Qual shell devo usar?

No macOS o padrão é o Zsh e não há motivo forte para trocar. No Linux, Bash é o mais universal e o que você encontrará em servidores. No Windows, o PowerShell é o nativo, mas o WSL permite rodar um ambiente Linux completo, o que costuma ser mais próximo do ambiente de produção.