Otimizando o Terminal: Alias e Funções no Bash

A preguiça é uma das maiores virtudes de quem trabalha com TI. Se você digita o mesmo comando longo três vezes ao dia, está desperdiçando tempo cognitivo e digitação.

O shell (neste caso, o Bash) possui mecanismos nativos para encurtar comandos e automatizar sequências lógicas: os Aliases (apelidos) e as Funções.

Este log documenta como configurar ambos para tornar o uso do terminal mais fluido.

O Problema: Repetição Desnecessária

Imagine a rotina padrão de atualização no Debian/Ubuntu/Mint:

sudo apt update && sudo apt upgrade -y

São 38 caracteres. Se você executa isso diariamente, o custo acumulado é alto. O objetivo é transformar isso em uma palavra: atualizar.

Parte 1: Alias (O Básico)

O alias é uma substituição direta de texto. Você diz ao terminal: “Quando eu digitar X, entenda Y”.

A sintaxe básica é: alias nome='comando'.

Testando na sessão atual

Antes de gravar qualquer coisa, teste no terminal aberto:

alias atualizar='sudo apt update && sudo apt upgrade -y'

Agora, ao digitar atualizar, o sistema pedirá sua senha de sudo e executará o comando completo.

Importante: Aliases criados direto no prompt são voláteis. Se você fechar o terminal, eles somem. Para torná-los permanentes, precisamos editar o arquivo de configuração do shell (geralmente ~/.bashrc ou ~/.zshrc).

Exemplos Úteis de Alias

Aqui estão alguns aliases que utilizo para facilitar a navegação e segurança:

# Lista arquivos com detalhes, tamanho legível e cores
alias ll='ls -lAh --color=auto'

# Pergunta antes de sobrescrever arquivos ao copiar ou mover (Segurança)
alias cp='cp -i'
alias mv='mv -i'

# Atalho para limpar o terminal
alias c='clear'

Parte 2: A Limitação do Alias

Aliases são ótimos para comandos estáticos, mas falham quando precisamos de argumentos (variáveis) no meio do comando.

Imagine que você quer criar um diretório e entrar nele imediatamente. O comando manual seria:

mkdir projeto_novo
cd projeto_novo

Tentar criar um alias para isso é complexo e propenso a falhas, pois o alias simplesmente “cola” o argumento no final do comando. Para lógicas onde a posição do argumento importa, usamos Funções.

Parte 3: Funções (Scripting Real)

Funções no Bash são pequenos scripts que aceitam argumentos posicionais ($1, $2, etc).

Para resolver o problema do “criar e entrar” (mkcd), usamos a seguinte lógica:

  1. Crie o diretório com o nome passado no primeiro argumento ($1).
  2. Entre no diretório com esse mesmo nome ($1).

Para testar, execute o seguinte no terminal:

function mkcd() {
    mkdir -p "$1"
    cd "$1"
}
  • mkdir -p: A flag -p evita erro se o diretório já existir e permite criar subdiretórios aninhados (ex: pasta/subpasta).
  • "$1": As aspas são vitais. Se você criar uma pasta com espaço no nome (“meu projeto”), sem aspas o bash entenderá como duas pastas diferentes.

Parte 4: Tornando Permanente (Editando o .bashrc)

Para que essas configurações carreguem sempre que você abrir o terminal, precisamos salvar no arquivo .bashrc (se usa Bash) ou .zshrc (se usa Zsh).

  1. Abra o arquivo de configuração (usarei o nano pela simplicidade):
nano ~/.bashrc
  1. Vá até o final do arquivo (use as setas do teclado).
  2. Adicione seus aliases e funções. Recomendo criar uma seção comentada para manter a organização:
# --- Meus Aliases e Funções ---

# Aliases
alias atualizar='sudo apt update && sudo apt upgrade -y'
alias ll='ls -lAh --color=auto'
alias c='clear'

# Funções
function mkcd() {
    mkdir -p "$1"
    cd "$1"
}
  1. Salve o arquivo (Ctrl+O, depois Enter) e saia (Ctrl+X).

Parte 5: Recarregando o Shell

Após editar o arquivo, as mudanças não aparecem automaticamente na aba que já está aberta. Você tem duas opções:

  1. Fechar e abrir o terminal novamente.
  2. Forçar o terminal a reler o arquivo de configuração com o comando source:
source ~/.bashrc

Conclusão

Automatizar o terminal não é sobre “hackear” o sistema, é sobre ergonomia. Comece com aliases simples para comandos longos. Quando perceber que precisa de lógica (como “fazer X com o arquivo Y”), evolua para funções.

Mantenha seu .bashrc limpo e organizado. Ele é a principal ferramenta do seu ambiente de trabalho.