Otimizando o uso do shell com aliases

Se você como eu usa diariamente a linha de comandos certamente tem a necessidade de executar alguns comandos repetidas vezes. Os mais “cascudos” na área já sabem como lidar com isso, mas se você está começando agora vou deixar três dicas aqui relacionadas aos aliases que vão melhorar sua rotina.

Usando aliases

A primeira dica em si é a utilização de alias. Eles funcionam como uma espécie de script minimalista e que ajudam a simplificar comandos e grupos de parâmetros.

Exemplo 1 – Digamos que você sempre esquece de colocar um “sudo” quando invoca o apt-get, por exemplo. Você pode resolver isso com um alias assim:

alias apt-get='sudo apt-get'

Simples assim. Agora todas as vezes que você digitar “apt-get update” ou “apt-get upgrade”, o shell automaticamente converterá isso para “sudo apt-get update” e “sudo apt-get upgrade”, respectivamente o que te poupará de ver aquela mensagem dizendo que você não tem permissão.

Exemplo 2 – Agora digamos que o problema seja outro. você gosta que o comando “ls” e o comando “grep” sempre exibam as suas saídas com cores. Os dois alias abaixo podem te ajudar com isso:

alias grep='grep --color'
alias ls='ls --color'

A partir de agora sempre que você usar os comandos “ls” e “grep” eles terão suas saídas coloridas.

Exemplo 3 – No meu dia-a-dia eu tenho que lidar com um volume gigantesco de pastas e arquivos (alguns milhões de arquivos que ocupam algumas dezenas de terabytes) e eventualmente eu me deparo com milhares de objetos vazios e que precisam ser removidos. A solução manual que uso para isso é o alias a seguir que deixo como mais um exemplo:

alias findempty="find . -empty -delete"

Exemplo 4 – Um outro exemplo mais sofisticado agora para fechar o assunto. Você pode criar alias que envolvam mais de um comando, o que muitas vezes pode ser muito útil.

Todas as vezes que você vai atualizar os pacotes de seu sistema você digita dois comandos:

sudo apt-get update
sudo apt-get upgrade

Podemos criar um alias para simplificar nossa vida assim:

alias a='sudo apt-get update ; sudo apt-get upgrade

Assim você pode atualizar seu sistema usando apenas uma tecla (“a”). Veja, neste caso, a importância de se colocar os comandos entre aspas simples para que o shell não interprete o “;” de forma errada.

Para você ver todos os aliases que estão disponíveis apenas digite o comando alias sem qualquer parâmetro.

alias

Talvez você veja outros aliases que você não tenha digitado. Isso é porque a sua distribuição já criou alguns para facilitar a sua vida.

E para remover um alias que não tem mais utilidade basta digitar o comando “unalias”, como no exemplo:

unalias ls

A partir daqui o comando “ls” não exibirá mais a sua saída colorida.

Mantendo aliases para sempre

Agora sim a segunda dica. Os aliases ficam ativos apenas na sua sessão de trabalho onde foram digitados, isso significa que se você fechar este terminal onde você os digitou, ou abrir um novo eles não terão mais efeito.

A forma de faze-los persistentes é colocá-los dentro de um dos arquivos de inicialização do seu shell. No caso do “Bash” usado como padrão pela maior das distribuições Linux isso poderia ser feito no arquivo oculto “.bashrc”, dentro do home de seu usuário.

Então se você editar este arquivo você deverá encontrar várias configurações ali e inclusive outros “aliases” já criados por default.

Então agora é só você digitar os seus novos aliases exatamente como fizemos na linha de comandos. A partir daí todas as vezes que você iniciar uma nova sessão o alias será ativado.

É importante lembrar, entretanto, que estes alias só passam a ter efeito quando você abrir um novo terminal, então para que eles passem a ter efeito na sua sessão atual você deverá digitá-los no terminal também, ou então você pode carregar o “.bashrc” por cima da seção atual usando o comando abaixo:

source ~/.bashrc

ou ainda

. ~/.bashrc

Bônus 1 – Separe os seus aliases

O arquivo “.bashrc” costuma ser bastante poluído com definições de variáveis de ambiente, algumas validações, alias do sistema etc, então uma coisa legal que gosto de fazer é colocar todos os aliases em um arquivo separado que me permite gerenciar meus “brinquedos” sem estragar o que já está funcionando.

Outra vantagem disso é que você poderá recarregar seus aliases sem precisar executar todas as rotinas de inicialização do ambiente que estão no .bashrc, já que ali poderão ter rotinas mais complexas e demoradas para personalização de prompt, invocação de outros scripts durante a inicialização do ambiente etc.

Para isso primeiro crie um arquivo chamado “.bash_aliases” em seu home com todos os aliases que você possui e dentro do seu arquivo “.bashrc”, ao invés dos aliases, adicione apenas as seguintes linhas:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Na verdade estas linhas talvez até já existam lá mas podem estar precedidas por um ‘#’, neste caso basta remover estes caracteres e salvar o arquivo. Caso as linhas já estejam sem o caracter ‘#’ não precisa fazer mais nada, só fechar o arquivo.

Estas linhas verificam a existência daquele arquivo que criamos (.bash_aliases) assim que você inicia a sessão, e caso o arquivo exista o bash já o carrega para você disponibilizando todos os seus aliases.

Bonus 2 – Otimizando a criação de novos aliases

Ideias para novos aliases podem surgir a todo momento depois que você começar a usá-los então a dica agora é justamente como automatizar esta criação. Veja o alias abaixo:

alias na="md5sum ~/.bash_aliases >/tmp/md5.bash_aliases ; editor ~/.bash_aliases ; md5sum -c /tmp/md5.bash_aliases >/dev/null 2>&1 || source ~/.bash_aliases"

Parece complicado mas é bem simples acompanha comigo.

Quando eu digito “na” (uma abreviatura que inventei para “New Alias”) no terminal o alias executa três comandos em sequencia:

O primeiro calcula a assinatura md5 do meu arquivo “.bash_aliases”;

O segundo abre o editor padrão da minha distribuição com o arquivo “.bash_aliases”;

O terceiro é executado somente quando eu fecho o editor. Ele verifica se a assinatura do arquivo ainda é a mesma que tinha calculado antes da edição e caso não seja (significa que o arquivo foi alterado) carrega o arquivo com as novas definições de aliases.

Coloque então este novo alias em seu “.bash_aliases”, execute uma ultima vez o comando “source ~/.bash_aliases” e daqui pra frente use apenas o “na” para criar novos aliases que estarão instantaneamente disponíveis e persistentes.

Com isso espero que você possa aumentar a sua produtividade com este recurso tão útil, e muitas vezes desprezados pelos usuários de linha de comandos.

Até a próxima!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.