30 Handy Bash Shell Aliases para Linux / Unix / Mac OS X

Umalias não é nada, mas o atalho para comandos. O comando alias permite ao usuário iniciar qualquer comando ou grupo de comandos (incluindo opções e nomes de arquivos) digitando uma única palavra. Use o comando alias para exibir uma lista de todos os aliases definidos. Você pode adicionar aliases definidos pelo usuário para o arquivo ~ / .bashrc . Você pode reduzir o tempo de digitação com esses alias, trabalhar de forma inteligente e aumentar a produtividade no prompt de comando.

Mais sobre aliases

A sintaxe geral para o comando alias para o shell bash é a seguinte:

Tarefa: aliases de lista

Digite o seguinte comando:

  Alias

Saídas de amostra:

  Pseudônimo
 Alias amazonbackup = 's3backup'
 Alias apt-get = 'sudo apt-get'
 ...

Por padrão, o comando alias mostra uma lista de aliases definidos para o usuário atual.

Tarefa: Definir / criar um alias (sintaxe bash)

Para criar o alias use a seguinte sintaxe:

  Alias name = value
 Alias name = 'command'
 Alias nome = 'comando arg1 arg2'
 Alias name = '/ path / to / script'
 Alias name = '/path/to/script.pl arg1'

Neste exemplo, crie o alias c para o comando clear comumente usado, que limpa a tela, digitando o seguinte comando e, em seguida, pressionando a tecla ENTER:

  Alias c = 'limpar'

Em seguida, para limpar a tela, em vez de digitar clear, basta digitar a letra ‘c’ e pressionar a tecla [ENTER]:

  C

Tarefa: Desativar um alias temporariamente (sintaxe bash)

Um alias pode ser desabilitado temporariamente usando a seguinte sintaxe:

  ## caminho / para / completo / comando
 / Usr / bin / clear
 ## chamar alias com uma barra invertida ##
 C

Tarefa: Remover um alias (sintaxe bash)

Você precisa usar o comando chamado unalias para remover aliases . Sua sintaxe é a seguinte:

  Unalias nome do alias

Neste exemplo, remova o alias c que foi criado em um exemplo anterior:

  Unalias c

Você também precisa excluir o alias do arquivo ~ / .bashrc usando um editor de texto (veja a próxima seção).

Tarefa: tornar aliases permanentes (sintaxe bash)

O alias c permanece em vigor somente durante a sessão de login atual. Depois de efetuar logout ou reiniciar o sistema, o alias c desaparecerá. Para evitar esse problema, adicione alias ao seu arquivo ~ / .bashrc , digite:

  Vi ~ / .bashrc

O alias c para o usuário atual pode ser tornado permanente, digitando a seguinte linha:

  Alias c = 'limpar'

Salve e feche o arquivo. Alias do sistema (aliases para todos os usuários) podem ser colocados no arquivo / etc / bashrc. Observe que o comando alias é construído em vários shells, incluindo ksh, tcsh / csh, ash, bash e outros.

Uma nota sobre acesso privilegiado

Você pode adicionar o código da seguinte forma em ~ / .bashrc:

  # Se o usuário não é root, passe todos os comandos via sudo #
 Se [ $ UID -ne 0 ] ;  então
     Alias reboot = 'sudo reboot'
     Alias update = 'sudo apt-get upgrade'
 Fi

Uma observação sobre aliases específicos do sistema operacional

Você pode adicionar o código da seguinte forma em ~ / .bashrc usando a instrução case :

  ### Obter o nome via uname ###
 _myos = " $ (uname) "

 ### adicionar alias como por os usando $ _myos ###
 Case $ _myos in
    Linux ) alias foo = '/ caminho / para / linux / bin / foo' ;;
    FreeBSD |  OpenBSD ) alias foo = '/ caminho / para / bsd / bin / foo' ;;
    SunOS ) alias foo = '/ caminho / para / sunos / bin / foo' ;;
    * ) ;;
 Esac

30 usos para aliases

Você pode definir vários tipos de alias da seguinte forma para economizar tempo e aumentar a produtividade.

# 1: saída do comando ls de controle

O comando ls lista o conteúdo do diretório e você pode colorir a saída:

  # # Colorize a saída ls ##
 Alias ls = 'ls --color = auto'

 ## Use um formato de listagem longo ##
 Alias ll = 'ls -la' 

 ## Mostrar arquivos ocultos ##
 Alias l. = 'Ls -d. * --color = auto'

# 2: Controle o comportamento do comando cd

  ## se livrar do comando não encontrado ##
 Alias cd .. = 'cd ..' 

 ## uma forma rápida de sair do diretório atual ##
 Pseudônimo 
 Alias ... = 'cd ../../../' 
 Alias .... = 'cd ../../../../' 
 Alias ..... = 'cd ../../../../' 
 Alias .4 = 'cd ../../../../' 
 Alias .5 = 'cd ../../../../ ..'

# 3: Controlar a saída do comando grep

O comando grep é um utilitário de linha de comando para pesquisar arquivos de texto simples para linhas que correspondem a uma expressão regular:

  # # Colorize a saída do comando grep para facilidade de uso (bom para arquivos de log) ##
 Alias grep = 'grep --color = auto'
 Alias egrep = 'egrep --color = auto'
 Alias fgrep = 'fgrep --color = auto'

# 4: Iniciar calculadora com suporte matemático

  Alias bc = 'bc -l'

# 4: Gerar sha1 digest

  Alias sha1 = 'openssl sha1'

# 5: Criar diretórios pai sob demanda

Mkdir comando é usado para criar um diretório:

  Alias mkdir = 'mkdir -pv'

# 6: Colorize diff output

Você pode comparar arquivos linha por linha usando diff e usar uma ferramenta chamada colordiff para colorize diff output:

  # Install colordiff package 🙂
 Alias diff = 'colordiff'

# 7: Faça a saída de comando de montagem bonita e formato legível humano

  Alias mount = 'mount | column -t'

# 8: Comando atalhos para economizar tempo

  # Atalhos acessíveis #
 Alias h = 'histórico'
 Alias j = 'jobs -l'

# 9: Criar um novo conjunto de comandos

  Alias path = 'echo -e $ {PATH //: / \\ n}'
 Alias now = 'date + "% T"'
 Alias nowtime = agora
 Alias nowdate = 'date + "% d-% m-% Y"'

# 10: Definir vim como padrão

  Alias vi = vim 
 Alias svi = 'sudo vi' 
 Alias vis = 'vim "+ set si"' 
 Alias editar = 'vim'

# 11: Saída de controle da ferramenta de rede chamada ping

  # Parar depois de enviar a contagem ECHO_REQUEST pacotes #
 Alias ping = 'ping -c 5'
 # Não espere intervalo 1 segundo, vá rápido #
 Alias fastping = 'ping -c 100 -s.2'

# 12: Mostrar portas abertas

Use o comando netstat para listar rapidamente todas as portas TCP / UDP no servidor:

  Alias ports = 'netstat -tulanp'

# 13: Wake up servidores dormindo

Wake-on-LAN (WOL) é um padrão de rede Ethernet que permite que um servidor seja ativado por uma mensagem de rede. Você pode rapidamente ativar os dispositivos nas e o servidor usando os seguintes aliases:

  ## substituir mac com o seu servidor real mac address #
 Alias wakeupnas01 = '/ usr / bin / wakeonlan 00: 11: 32: 11: 15: FC'
 Alias wakeupnas02 = '/ usr / bin / wakeonlan 00: 11: 32: 11: 15: FD'
 Alias wakeupnas03 = '/ usr / bin / wakeonlan 00: 11: 32: 11: 15: FE'

# 14: Saída de firewall de controle (iptables)

O Netfilter é um firewall baseado em host para sistemas operacionais Linux. Ele está incluído como parte da distribuição do Linux e é ativado por padrão. Este post lista as soluções mais comuns do iptables requeridas por um novo usuário do Linux para proteger seu sistema operacional Linux de intrusos.

  ## atalho para iptables e passá-lo via 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

# 15: Debug web servidor / cdn problemas com curl

  # Obter cabeçalhos do servidor web #
 Alias header = 'curl -I'

 # Descobrir se o servidor remoto suporta gzip / mod_deflate ou não #
 Alias headerc = 'curl -I --compress'

# 16: Adicionar redes de segurança

  # Não apaga / ou pergunta se apagar mais de 3 arquivos de cada vez #
 Alias rm = 'rm -I --preserve-root'

 # confirmação #
 Alias mv = 'mv -i' 
 Alias cp = 'cp -i' 
 Alias ln = 'ln -i'

 # Parenting alterando perms em / #
 Alias chown = 'chown --preserve-root'
 Alias chmod = 'chmod - preservar-raiz'
 Alias chgrp = 'chgrp --preserve-root'

# 17: Atualização do servidor Debian Linux

O comando apt-get é usado para instalar pacotes pela internet (ftp ou http). Você também pode atualizar todos os pacotes em uma única operação:

  # Distro specific - Debian / Ubuntu e amigos #
 # Install with apt-get
 Alias apt-get = "sudo apt-get" 
 Alias updatey = "sudo apt-get --yes" 

 # Atualizar em um comando
 Alias update = 'sudo apt-get update && sudo apt-get upgrade'

# 18: Atualizar servidor RHEL / CentOS / Fedora Linux

Yum é uma ferramenta de gerenciamento de pacotes para RHEL / CentOS / Fedora Linux e amigos:

  ## distrp specifc RHEL / CentOS ##
 Alias update = 'yum atualização'
 Alias updatey = 'yum -y atualização '

# 19: Sintonizar sudo e su

  # Tornar-se root #
 Alias root = 'sudo -i'
 Alias su = 'sudo -i'

# 20: Passar / reiniciar via sudo

Desligar o sistema Linux / Unix:

  # Reboot / halt / poweroff
 Alias reboot = 'sudo / sbin / reboot'
 Alias poweroff = 'sudo / sbin / poweroff'
 Alias halt = 'sudo / sbin / halt'
 Alias shutdown = 'sudo / sbin / shutdown'

# 21: Controlar servidores web

  # Também passá-lo via sudo para que quem é admin pode recarregá-lo sem chamá-lo #
 Alias nginxreload = 'sudo / usr / local / nginx / sbin / nginx -s recarregar'
 Alias nginxtest = 'sudo / usr / local / nginx / sbin / nginx -t'
 Alias lightyload = 'sudo /etc/init.d/lighttpd reload'
 Alias lightytest = 'sudo / usr / sbin / lighttpd -f /etc/lighttpd/lighttpd.conf -t'
 Alias httpdreload = 'sudo / usr / sbin / apachectl -k gracioso'
 Alias httpdtest = 'sudo / usr / sbin / apachectl -t && / usr / sbin / apachectl -t -D DUMP_VHOSTS'

# 22: Alias em nosso material de backup

 # Se cron falhar ou se você quiser backup a pedido basta executar esses comandos # # novamente passá-lo via sudo para que quem está no grupo de administração pode iniciar o trabalho # # scripts de backup # alias backup = 'sudo / home / scripts / admin / scripts /backup/wrapper.backup.sh --tipo local --taget / raid1 / backups ' alias nasbackup = ' sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh --type nas --target nas01 ' Alias s3backup = 'sudo /home/scripts/admin/scripts/backup/wrapper.backup.sh --type nas --target nas01 --auth /home/scripts/admin/.authdata/amazon.keys' alias rsnapshothourly = ' Sudo /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type remoto --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys --config / home / scripts / admin /scripts/backup/config/adsl.conf ' alias rsnapshotdaily = ' sudo /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type remote --target nas03 --auth / home / scripts / admin / .authdata / ssh.keys --config /home/scripts/admin/scripts/backup/config/adsl.conf ' alias rsnapshotweekly = ' sudo /home/scripts/admin/scripts/backup/wrapper.rsnapshot.sh --type Remoto --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys --config /home/scripts/admin/scripts/backup/config/adsl.conf ' alias rsnapshotmonthly = ' sudo / home / scripts /admin/scripts/backup/wrapper.rsnapshot.sh --type remote --target nas03 --auth /home/scripts/admin/.authdata/ssh.keys --config / home / scripts / admin / scripts / backup / Config / adsl.conf " alias amazonbackup = s3backup

# 23: Desktop específico – jogar arquivos avi / mp3 sob demanda

  ## reproduzir arquivos de vídeo em um diretório atual ##
 # Cd ~ / Download / nome do filme
 # Playavi ou vlc
 Alias playavi = 'mplayer * .avi'
 Alias vlc = 'vlc * .avi'

 # Reproduzir todos os arquivos de música a partir do diretório atual #
 Alias playwave = 'para i em * .wav;  Fazer mplayer "$ i";  feito'
 Alias playogg = 'for i in * .ogg;  Fazer mplayer "$ i";  feito'
 Alias playmp3 = 'for i in * .mp3;  Fazer mplayer "$ i";  feito'

 # Reproduzir arquivos de dispositivos nas #
 Alias nplaywave = 'para i em /nas/multimedia/wave/*.wav;  Faça mplayer "$ i";  feito'
 Alias nplayogg = 'para i em /nas/multimedia/ogg/*.ogg;  Fazer mplayer "$ i";  feito'
 Alias nplaymp3 = 'para i em /nas/multimedia/mp3/*.mp3;  Fazer mplayer "$ i";  feito'

 # Shuffle mp3 / ogg etc por padrão #
 Alias music = 'mplayer - shuffle *'

# 24: Definir interfaces padrão para comandos relacionados ao administrador do sistema

O vnstat é um monitor de tráfego de rede baseado em consola . Dnstop é uma ferramenta de console para analisar o tráfego de DNS. Os comandos tcptrack e iftop exibem informações sobre conexões TCP / UDP que vê em uma interface de rede e exibem o uso de largura de banda em uma interface por host respectivamente.

  ## Todos os nossos servidores eth1 está conectado ao Internet via vlan / router etc ##
 Alias dnstop = 'dnstop -l 5 eth1'
 Alias vnstat = 'vnstat -i eth1'
 Alias iftop = 'iftop -i eth1'
 Alias tcpdump = 'tcpdump -i eth1'
 Alias ethtool = 'ethtool eth1'

 # Trabalho em wlan0 por padrão #
 # Útil apenas para laptop como todos os servidores estão sem interface sem fio
 Alias iwconfig = 'iwconfig wlan0'

# 25: Obtenha memória do sistema, uso de CPU e informações de memória de gpu rapidamente

  ## opções de passagem para livre ##
 Alias meminfo = 'free -m -l -t'

 ## obter o processo superior de comer memória
 Alias psmem = 'ps auxf |  Sort -nr -k 4 '
 Alias psmem10 = 'ps auxf |  Sort -nr -k 4 |  Cabeça -10 '

 ## obter processo superior cpu consumo # #
 Alias pscpu = 'ps auxf |  Sort -nr -k 3 '
 Alias pscpu10 = 'ps auxf |  Sort -nr -k 3 |  Cabeça -10 '

 ## Obter informação da CPU do servidor ##
 Alias cpuinfo = 'lscpu'

 ## uso mais antigo do sistema / proc / cpuinfo ##
 ## alias cpuinfo = 'less / proc / cpuinfo' ##

 ## obter GPU ram em desktop / laptop ##
 Alias gpumeminfo = 'grep -i --color memory /var/log/Xorg.0.log'

# 26: Roteador doméstico de controle

O comando curl pode ser usado para reiniciar roteadores Linksys .

  # Reinicie o meu Home Linksys WAG160N / WAG54 / WAG320 / WAG120N Roteador / Gateway de * nix.
 Alias rebootlinksys = "curl -u 'admin: minha-super-senha' 'http://192.168.1.2/setup.cgi?todo=reboot'"

 # Reboot base de tomate Asus NT16 ponte sem fio
 Alias reboottomato = "ssh admin@192.168.1.1 / sbin / reboot"

# 27 Retomar o wget por padrão

O GNU Wget é um utilitário gratuito para download não interativo de arquivos da Web. Ele suporta HTTP, HTTPS e protocolos FTP, e pode retomar downloads também:

  ## esta salva por butt tantas vezes ##
 Alias wget = 'wget -c'

# 28 Usar navegador diferente para site de testes

  ## esta salva por butt tantas vezes ##
 Alias ff4 = '/ opt / firefox4 / firefox'
 Alias ff13 = '/ opt / firefox13 / firefox'
 Alias chrome = '/ opt / google / chrome / chrome'
 Alias opera = '/ opt / opera / opera'

 #default ff
 Alias ff = ff13

 #my navegador padrão
 Alias browser = cromo

# 29: Uma nota sobre o alias ssh

Não crie alias ssh, use ~ / .ssh / config arquivos de configuração do cliente SSH do OpenSSH. Ele oferece mais opções. Um exemplo:

  Servidor host10
   Hostname 1.2.3.4
   IdentityFile ~ / backups / .ssh / id_dsa
   Usuário foobar
   Port 30000
   ForwardX11Trusted sim
   TCPKeepAlive sim

Agora você pode se conectar ao peer1 usando a seguinte sintaxe:
$ ssh server10

# 30: É a sua vez de compartilhar …

  ## definir alguns outros padrões ##
 Alias df = 'df -H'
 Alias du = 'du -ch'

 # Top está no topo, assim como vi é vim
 Alias top = 'cima' 

 ## nfsrestart - deve ser root ##
 ## atualizar nfs mount / cache etc para Apache ##
 Alias nfsrestart = 'sync && sleep 2 && /etc/init.d/httpd stop && umount netapp2: / exports / http && sleep 2 && mount -o rw, sync, rsize = 32768, wsize = 32768, intr, hard, proto = Tcp, fsc natapp2: / exports / http / var / www / html && /etc/init.d/httpd start '

 ## Status do servidor Memcached ##
 Alias mcdstats = '/ usr / bin / memcached-tool 10.10.27.11:11211 stats'
 Alias mcdshow = '/ usr / bin / memcached-tool 10.10.27.11:11211 exibir'

 ## descarregar rapidamente o servidor memcached ##
 Alias flushmcd = 'echo "flush_all" |  Nc 10.10.27.11 11211 '

 ## Remover ativos rapidamente de Akamai / Amazon cdn ##
 Alias cdndel = '/ home / scripts / admin / cdn / purge_cdn_cache --profile akamai'
 Alias amzcdndel = '/ home / scripts / admin / cdn / purge_cdn_cache --profile amazon'

 ## lista de suprimentos de urls via file ou stdin
 Alias cdnmdel = '/ home / scripts / admin / cdn / purge_cdn_cache --profile akamai --stdin'
 Alias amzcdnmdel = '/ home / scripts / admin / cdn / purge_cdn_cache --profile amazon --stdin'

Conclusão

Este post resume vários tipos de usos para aliases de bash do * nix:

  1. Definir opções padrão para um comando (por exemplo, defina eth0 como opção padrão para o comando ethtool via alias ethtool = 'ethtool eth0' ).
  2. Corrigir erros de digitação (cd .. irá atuar como cd .. via alias cd .. = 'cd ..' ).
  3. Reduzir a quantidade de digitação.
  4. Definindo o caminho padrão de um comando que existe em várias versões em um sistema (por exemplo, o GNU / grep está localizado em / usr / local / bin / grep e o grep do Unix está localizado em / bin / grep.Para usar GNU grep use alias grep = '/ Usr / local / bin / grep' ).
  5. Adicionando as redes de segurança ao Unix, tornando os comandos interativos, definindo opções padrão. (Por exemplo, rm, mv e outros comandos).
  6. Compatibilidade através da criação de comandos para sistemas operacionais mais antigos, como MS-DOS ou outros sistemas operacionais Unix como (por exemplo, alias del = rm).

Eu compartilhei meus aliases que eu usei ao longo dos anos para reduzir a necessidade de digitação de linha de comando repetitivo. Se você souber e usar outros aliases do bash / ksh / csh que podem reduzir a digitação, compartilhe abaixo nos comentários.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s