Alias e customizando o terminal
Se você digita o mesmo comando longo todo dia, o terminal deixa você dar um apelido curto pra ele — permanente.
Depois de um tempo usando terminal, você percebe que repete os mesmos comandos longos o tempo todo — git status, ls -la, alguma combinação de flags que você sempre esquece metade. O recurso que resolve isso chama-se alias: um apelido curto que vira, na prática, um comando de verdade.
Criando um alias
alias ll="ls -la"A partir desse momento, na mesma sessão de terminal, digitar ll executa exatamente ls -la:
llAlguns exemplos comuns que economizam bastante digitação no dia a dia:
alias gs="git status"
alias ..="cd .."
alias cls="clear"Onde esse apelido mora de verdade
Só que tem um detalhe: um alias criado direto no terminal, do jeito que fizemos acima, vale apenas pra sessão atual — feche o terminal, ou abra uma aba nova, e o alias desaparece. Pra ele existir sempre, ele precisa estar escrito dentro de um arquivo de configuração do shell, que é lido automaticamente toda vez que um terminal novo abre.
Esse arquivo tem nome diferente dependendo do shell: no bash, normalmente é ~/.bashrc; no zsh (padrão do macOS moderno), é ~/.zshrc. Adicionar um alias permanente significa abrir esse arquivo num editor e incluir a linha ali dentro:
nano ~/.zshrcalias gs="git status"
alias ll="ls -la"Por que o alias não funciona imediatamente depois de editar
Aqui mora a confusão mais comum desta lição: você edita o ~/.zshrc, salva, sai do editor, tenta usar o alias novo — e não funciona. O motivo é que o shell só lê esse arquivo de configuração no momento em que uma sessão de terminal é aberta. Editar o arquivo depois que a sessão já está rodando não faz o shell reler nada sozinho.
Duas formas de resolver isso: abrir um terminal novo (uma sessão nova sempre lê o arquivo do zero), ou forçar a sessão atual a reler o arquivo com source:
source ~/.zshrcsource executa o conteúdo do arquivo dentro da sessão atual, como se cada linha tivesse sido digitada ali na hora — inclusive os alias que foram adicionados. Depois disso, o alias novo já funciona sem precisar fechar o terminal.
Exercício
Você adicionou alias gs="git status" no final do seu ~/.zshrc, salvou, e digitou gs na mesma janela de terminal onde estava editando — mas apareceu command not found: gs. O que aconteceu e como resolver sem fechar o terminal?