Caso não consiga visualizar esta mensagem, clique aqui.
URL deste artigo: http://www.Dicas-L.com.br/dicas-l/20130722.php
Aliases úteis
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 22 de julho de 2013
Aliases são atalhos muito úteis que nos permitem economizar bastante tempo e irritação, nos poupando dos erros que aparecem quando digitamos algo errado.
Por exemplo, é comum digitarmos algo como cd..
para irmos para o diretório pai, esquecendo do espaço entre o nome do comando (cd
) e o argumento (..
). Este erro pode ser tratado por meio do alias a seguir:
alias cd..='cd ..'
Pronto, um problema a menos.
Outro problema bastante comum ocorre quando queremos criar um diretório em que a árvore completa ainda não existe. Por exemplo, queremos criar o diretório /home/rubens/docs/2013/setembro
. Se o diretório doc
não existir, recebemos um erro:
mkdir /home/acme/docs/2013/setembro mkdir: é impossível criar o diretório "/home/acme/docs/2013/setembro": Arquivo ou diretório não encontrado
Para tratar este erro, podemos criar um alias:
alias mkdir='mkdir -pv'
Ao emitir o comando novamente:
mkdir /home/acme/rubens/docs/2013/setembro mkdir: foi criado o diretório "/home/acme/rubens" mkdir: foi criado o diretório "/home/acme/rubens/docs" mkdir: foi criado o diretório "/home/acme/rubens/docs/2013" mkdir: foi criado o diretório "/home/acme/rubens/docs/2013/setembro"
A diretiva -v
significa verbose, ou seja, o comando irá emitir mensagens a respeito de todo o processamento realizado.
A definição dos aliases pode ser feita em uma sessão interativa ou então gravada nos arquivos de inicialização do shell, para uso permanente.
Sistemas GNU/Linux já trazem alguns aliases definidos por padrão. Para ver quais são estes aliases, basta digitar:
$ alias alias cd..='cd ..' alias grep='grep --colour=auto' alias ls='ls --color=auto'
O alias do comando grep é particularmente útil. O termo de busca é destacado em letras vermelhas, nas linhas em que for encontrado.
No arquivo .bashrc
de meu sistema (LinuxMint), eu encontrei as seguintes linhas:
# Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. #if [ -f ~/.bash_aliases ]; then # . ~/.bash_aliases #fi
Este trecho está comentado, mas é uma sugestão muito interessante, colocar todos os aliases em um arquivo separado (.bash_aliases
) cuja existência é testada quando do início de uma sessão interativa.
Mas caso você não queira criar este arquivo, basta digitar as definições dos aliases diretamente no arquivo .bashrc
.
Para desabilitar um alias temporariamente, basta digitar na linha de comando, por exemplo:
unalias grep
Relaciono a seguir algumas sugestões interessantes, que podem ser copiadas e coladas diretamente em seu arquivo .bashrc
:
# Limpar a tela alias c='clear' # Instalação de produtos alias apt-get='sudo apt-get' # Exibir arquivos ocultos alias l.='ls -d .* --color=auto' # ls com saída longa alias ll='ls -la' # Atalhos para o comando cd alias ..='cd ..' alias ...='cd ../../../' alias ....='cd ../../../../' alias .....='cd ../../../../' alias .4='cd ../../../../' alias .5='cd ../../../../..' # mkdir mais inteligente alias mkdir='mkdir -pv' # ver a hora alias now='date +"%T' # Definir o editor vim como padrão alias vi=vim # Uso do vim com privilégios alias svi='sudo vi' ## atalho para invocar o comando iptables com sudo alias ipt='sudo /sbin/iptables' # Exibir todas as regras alias iptlist='sudo /sbin/iptables -L -n -v --line-numbers' alias iptlistin='sudo /sbin/iptables -L INPUT -n -v --line-numbers' alias iptlistout='sudo /sbin/iptables -L OUTPUT -n -v --line-numbers' alias iptlistfw='sudo /sbin/iptables -L FORWARD -n -v --line-numbers' alias firewall=iptlist
As possibilidades são muitas, o segredo é criar um alias para todos os comandos que você usa com mais frequência ou então comandos complexos que temos dificuldade em lembrar.
Saiba mais
Este artigo foi baseado em grande parte no texto 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X, do portal NIXCraft.