## 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
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 -lAquele ú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
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ávelPara aprofundar, temos guias sobre comandos fundamentais de terminal, SSH na prática e npx como biblioteca de execução.
## 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.