você está aqui: Home  → Arquivo de Mensagens

Aumente sua produtividade com aliases inteligentes

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.

Veja também



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Alysson
22 Jul 2013, 21:16
Eu já tinha alguns aliases:
alias ll='ls -Fhl'
alias la='ls -al'
alias l='ls -CF'
alias untar='tar xvf'
alias untargz='tar xvfz'

Vou acrescentar os citados aqui também.
Daniel Chepuck
22 Jul 2013, 17:17
Muito útil a dica. Já implementei no meu micro com Debian, cujo .bashrc já estava com o teste do .bash_aliases descomentado e pronto para uso.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script