Configurando Aliases - Como Abreviar Comandos no Linux
O que você vai conseguir fazer
- Dar um nome curto a um comando longo com `alias`
- Manter o alias no próximo terminal adicionando-o ao `~/.bashrc` e executando `source`
- Remover o alias com `unalias` e achar a causa com `type` quando ele não funciona
Pré-requisitos (leia estes primeiro)
O Que é um Alias?
ls -la --color=auto toda vez. Existe uma forma mais rápida?alias ll='ls -la --color=auto' e, a partir daí, ll faz o trabalho.Um alias é um nome curto que você dá a um comando mais longo. Algumas pessoas chamam de apelido ou atalho. Este artigo usa sempre a palavra "alias".
Um alias reduz a digitação. Ele também diminui os erros de digitação.
As palavras usadas aqui
- Terminal: a tela onde você digita comandos e lê os resultados em texto.
- Shell: o programa que lê o seu comando e o executa. Este artigo assume o
bash. - Terminal, shell e console costumam ser usados para indicar quase a mesma coisa.
Pense no alias como uma tabela de substituições que o shell guarda.
Resumo em uma linha
alias apelido='comando longo'
É só isso. Experimente agora mesmo.
Nada aqui quebra a sua máquina
Os comandos alias e unalias deste artigo nunca apagam um arquivo. Eles também nunca editam nenhum. Um erro de digitação não danifica o seu computador.
Somente o passo do ~/.bashrc mexe em um arquivo de configuração. A Seção 4-1 mostra como desfazer antes de qualquer alteração.
O Que Você Vai Aprender
- Dar um nome curto a um comando longo com
alias nome='comando' - Listar todos os aliases com
alias, ou verificar apenas um comalias nome - Verificar uma definição com
typee ignorar um alias uma vez com\ - Manter um alias no próximo terminal adicionando-o ao
~/.bashrce executandosource - Remover um alias com
unalias. Ele volta até você apagar a linha do.bashrc
1. Uso Básico
Conclusão: Defina um alias com alias nome=comando e use-o imediatamente, mas apenas nesta sessão.
1-1. Criar um alias
$ alias ll='ls -la'
Uma vez definido, você pode usá-lo imediatamente.
$ ll
total 48 drwxr-xr-x 5 user user 4096 May 31 19:00 . drwxr-xr-x 3 root root 4096 May 20 10:00 .. -rw-r--r-- 1 user user 220 May 20 10:00 .bash_logout -rw-r--r-- 1 user user 3526 May 20 10:00 .bashrc
Um alias criado com o comando alias fica ativo apenas no terminal atual. Ele desaparece quando você fecha o terminal.
A Seção 4 mostra como mantê-lo.
1-2. Listar todos os aliases atuais
$ alias
Execute alias sem nada depois dele. Ele então mostra todos os aliases que você pode usar agora.
alias ll='ls -la' alias grep='grep --color=auto' alias ls='ls --color=auto'
No Ubuntu, aliases para grep e ls frequentemente já vêm pré-configurados. Você pode vê-los com o comando alias.
O que aparece depende do seu ambiente. Uma lista diferente da nossa não é problema.
1-3. Verificar um alias específico
$ alias ll
alias ll='ls -la'
2. Exemplos Úteis de Aliases
Conclusão: Aliases comuns cobrem ls, navegação de diretórios, flags seguras -i e comandos git curtos.
2-1. Atalhos para ls
alias ll='ls -la' alias la='ls -A' alias l='ls -CF'
la e ll?ls -la mostra todos os arquivos com detalhes completos, incluindo os ocultos. ls -A também mostra os ocultos, mas deixa de fora as linhas . e ..... O exemplo clássico é o .bashrc. Use o que melhor se encaixar na sua necessidade.2-2. Navegação de diretórios
alias ..='cd ..' alias ...='cd ../..' alias ~='cd ~'
Digite .. e você sobe um nível de diretórioUm local que organiza arquivos. É a mesma ideia da "pasta" do Windows ou macOS.. Diretório é a mesma coisa que o Windows e o MacUm modelo de controle de acesso aplicado por regras fixas em todo o sistema (Mandatory Access Control). chamam de pasta.
2-3. Operações de arquivo mais seguras
alias cp='cp -i' alias mv='mv -i' alias rm='rm -i'
-i é uma chave que você adiciona depois do comando para mudar o comportamento dele. Chaves assim se chamam opções.
Com -i, o comando pergunta "tem certeza?" antes de agir.
Usando o rm com segurança
Um arquivo removido com rm não vai para a lixeira como acontece na interface gráfica. Ele some na hora. É por isso que um alias com confirmação, como alias rm='rm -i', ajuda tanto.
O terminal virtual deste site é para prática. Nada do que você digitar lá apaga um arquivo do seu computador, então experimente à vontade.
Cuidado em shell scripts
Se esses aliases estiverem ativos dentro de um script, o script pode se comportar de um jeito inesperado. Ele pode parar e ficar esperando uma resposta.
Escreva \rm ou /bin/rm nos scripts. Isso ignora o alias e chama o próprio comando.
2-4. Atalhos para Git
alias gs='git status' alias ga='git add' alias gc='git commit' alias gp='git push' alias gl='git log --oneline'
gs e o git status roda? Eu uso todo dia, então isso ajuda bastante.alias quando precisar da lista completa.3. Verificando um Alias e Ignorando-o Uma Vez
Conclusão: type diz o que um nome realmente é. Adicionar uma barra invertida ignora o alias naquela execução.
3-1. Verificar se um alias está definido
$ type ll
ll is aliased to `ls -la'
type diz o que um nome realmente é. Ele distingue um alias de um comando, de uma função ou de um recurso interno do shell.
Se o nome não estiver definido, você verá isto:
$ type ll
bash: type: ll: not found
3-2. Ignorar o alias em uma execução
Com alias rm='rm -i' definido, toda remoção pede confirmação. Para pular isso apenas uma vez, coloque \ antes do nome.
$ \rm file.txt
A \ diz ao shell para usar o próprio comando, e não o alias. A sua configuração continua no lugar, e a próxima execução pergunta de novo.
3-3. Lina se atrapalha: o rm não perguntou
alias rm='rm -i' no meu .bashrc. Mesmo assim, o rm dentro do meu script apagou o arquivo sem perguntar nada. A minha configuração quebrou?rm do seu script roda como o rm de verdade, e não como o seu alias. Nenhuma pergunta aparece.rm -i você mesma. Esse é o caminhoUma sequência de texto que descreve a localização de um arquivo ou diretório. seguro.4. Tornando Aliases Permanentes
Conclusão: Adicione aliases ao ~/.bashrc para que sobrevivam ao fechar do terminal, depois execute source para aplicar agora.
Para manter aliases depois de fechar o terminal, adicione-os ao ~/.bashrc.
O ~/.bashrc é um arquivo de configuração que o shell lê sozinho toda vez que você abre um terminal novo. O ~ representa o seu diretório pessoal.
4-1. Faça uma cópia antes de editar
Prepare o desfazer primeiro
O ~/.bashrc é um arquivo de configuração. Um erro nele pode gerar uma mensagem de erro toda vez que você abre um terminal.
Então copie o arquivo antes de editar.
$ cp ~/.bashrc ~/.bashrc.bak
Se algo der errado, restaure a cópia.
$ cp ~/.bashrc.bak ~/.bashrc $ source ~/.bashrc
Se o terminal continuar funcionando e apenas mostrar um erro, essas duas linhas resolvem.
Se o terminal abrir e fechar na hora, você pode iniciar um shell que ignora os arquivos de configuração. De outro terminal, digite isto:
$ bash --norc --noprofile
A partir daí, o cp acima restaura o seu arquivo.
4-2. Editar o .bashrc
$ nano ~/.bashrc
O nano é um editor de texto fácil para iniciantes. Adicione seus aliases no final do arquivo:
# Meus aliases alias ll='ls -la' alias ..='cd ..' alias gs='git status' alias cp='cp -i' alias mv='mv -i' alias rm='rm -i'
4-3. Aplicar as alterações agora
Editar o .bashrc não chega ao terminal que já está aberto. Releia o arquivo com este comando:
$ source ~/.bashrc
A forma abreviada significa o mesmo:
$ . ~/.bashrc
O que o source faz?
Ele lê o .bashrc de novo no shell atual.
Um terminal novo carrega o .bashrc sozinho. Com o source, você aplica a alteração agora, sem abrir outro terminal.
5. Removendo Aliases
Conclusão: unalias remove um, unalias -a remove todos, mas uma linha deixada no .bashrc traz o alias de volta.
5-1. Remover um alias específico
$ unalias ll
5-2. Remover todos os aliases
$ unalias -a
O unalias afeta apenas o terminal atual. Feche-o e abra um novo, e o .bashrc será lido outra vez. O alias volta.
Para remover de vez, apague também a linha do ~/.bashrc.
6. Solução de Problemas
Conclusão: Verifique o type primeiro. Falta de salvar, falta de source e espaços ao redor do = são as três causas comuns.
ll ainda não funciona. O que está errado?type ll primeiro e veja o que ele diz.$ type ll
ll is aliased to `ls -la'
Se estiver definido, você vê a linha acima. Se nada aparecer, verifique estes três pontos.
Lista de verificação
- Você salvou o
.bashrc? (No nano:Ctrl+O-->Enter-->Ctrl+X) - Você executou
source ~/.bashrcapós salvar? - O alias está escrito corretamente?
Erro comum: espaços ao redor do =
# Errado: espacos ao redor do = causam erro alias ll = 'ls -la' # Correto alias ll='ls -la'
O sinal = não deve ter espaços em nenhum dos lados. Com espaços, o shell lê ll como se fosse um nome de comando.
7. Mini Exercícios: Experimente Você Mesmo
Conclusão: Criar, verificar e manter. Três exercícios cobrem o básico na prática.
Exercício 1: Crie um alias chamado la que liste os arquivos, incluindo os ocultos.
Ver Dica 1 (Direção)
Você une um nome curto e o comando longo que ele representa com um sinal de igual. O comando fica entre aspasEnvolver um texto entre aspas (' ou ") para que seja tratado como um único valor, por exemplo um que tenha espaços..
Ver Dica 2 (Nome do comando)
Use alias. O comando que também mostra arquivos ocultos é ls -a.
Ver Resposta
$ alias la='ls -a' $ la
. .. .bashrc .profile Documents Downloads
A lista exata depende do seu ambiente. Se aparecerem entradas começando com ., funcionou.
Exercício 2: Confirme que la é realmente um alias. Depois execute-o uma vez ignorando o alias.
Ver Dica 1 (Direção)
Um comando diz o que um nome realmente é. Para ignorar um alias, coloque um único caractere antes do nome.
Ver Dica 2 (Nome do comando)
Verifique com type. O caractere que ignora o alias uma vez é \.
Ver Resposta
$ type la $ \la
la is aliased to `ls -a' bash: la: command not found
O \la ignora o alias. Não existe um comando real chamado la, então command not found é o resultado correto aqui.
Exercício 3: Deixe o la disponível no próximo terminal que você abrir. Faça uma cópia do arquivo antes de editar.
Ver Dica 1 (Direção)
Um arquivo de configuração é lido automaticamente sempre que um terminal inicia. Copie-o primeiro e depois adicione a sua linha nele.
Ver Dica 2 (Nome do comando)
Copie com cp, edite com nano e aplique com source. O arquivo é o ~/.bashrc. No nano, salve e saia com Ctrl+O → Enter → Ctrl+X.
Ver Resposta
$ cp ~/.bashrc ~/.bashrc.bak $ nano ~/.bashrc
Adicione esta linha no final do arquivo e salve.
alias la='ls -a'
$ source ~/.bashrc $ type la
la is aliased to `ls -a'
Para uma linha só, você também pode pular o nano e digitar isto. O >> adiciona uma linha ao final do arquivo; um > sozinho apagaria tudo, por isso não é usado aqui.
$ echo "alias la='ls -a'" >> ~/.bashrc
8. Revisão
alias vale só para a tela atual, e escrever no .bashrc deixa ele disponível da próxima vez.source como o pequeno passo extra que diz "leia de novo agora".type me diz o que o nome realmente é. Aliases não valem dentro de scripts. Anotado.Tabela de Comandos
| Tarefa | Comando |
|---|---|
| Criar um alias | alias ll='ls -la' |
| Listar todos os aliases | alias |
| Verificar um alias | alias ll |
| Ver o que um nome realmente é | type ll |
| Ignorar um alias uma vez | \ll |
| Remover um alias | unalias ll |
| Remover todos os aliases | unalias -a |
| Tornar aliases permanentes | Adicionar ao ~/.bashrc, executar source ~/.bashrc |
Resumo do Dia em 3 Linhas
alias nome='comando'cria um nome curto, mas apenas para o terminal atual- Adicione ao
~/.bashrce executesource, e ele funciona também no próximo terminal - Quando falhar, execute
type nome. Nunca coloque espaços ao redor do=