Sugestões de alias para usar no Linux

O comando alias permite facilitar a digitação de sequências de comandos muito grandes e/ou muito usadas, unificando tudo em apenas um nome (apelido).
Sugiro a leitura dos artigos relacionados (ao final) na seção de referências, caso queira se aprofundar um pouco mais no assunto.


Se você ainda não conhece o comando, por favor leia esta introdução.
Quando temos um procedimento complexo, que envolve uma série de linhas de comando para ser realizado, podemos montar um script — que, ao ser invocado, realiza toda a tarefa.
Shell scripts não são solução para tudo. Você pode associar uma pequena sequência de comandos a um alias.
Segue alguns exemplos.

Alias para troca de diretórios

O comando atende a heavy users de sistemas GNU/Linux ou UNIX.
Trocas constantes de diretórios, para realizar tarefas administrativas pode ser cansativo — até para quem é rápido no teclado.
Experimente estas sugestões:

# volta para o diretório pai do atual
alias ..="cd .." 

# volta 2 níveis de diretórios
alias ...="cd ../.."

# volta 3 níveis de diretórios
alias ....="cd ../../.." 

Também gosto da seguinte alternativa:

alias .2="cd ../.."
alias .3="cd ../../.."
alias .4="cd ../../../.."

Quando estiver realizando procedimentos em 2 diretórios diferentes e precisar ir e voltar frequentemente entre eles crie um apelido chamado ‘volta’:

alias volta='cd $OLDPWD'

crie alias para ir rapidamente para diretórios específicos:

alias docs="cd ~/Documentos"
alias facul="cd ~/Documentos/faculdade"
alias vids="cd ~/Vídeos"

Atalhos para listagens de diretórios

O comando ls permite uma série de ajustes de parâmetros e opções que podem ser incorporadas todas dentro de apelidos.
Veja algumas sugestões:

alias ll='ls -l'     
alias lf='ls -F'
alias l='ls -al'
alias lm="ls -al | more"

Para o ls sempre sair colorido:

alias ls="ls --color"

Alias para comandos de data e hora

Se você costuma checar o tempo no terminal, experimente estas configurações:

alias d='date +%F'
alias agora='date +"%T"'
alias hoje='date +"%d/%m/%Y"'

Force a confirmação de comandos

Para forçar a confirmação de comandos de copiar, mover ou apagar, sugiro estes:

alias cp='cp -i'
alias ln='ln -i'
alias mv='mv -i'
alias ln='ln -i'

Alias para comandos variados

Estou sempre pesquisando no meu histórico para rever o funcionamento de algum comando dado há algumas semanas atrás.
Criar um apelido para um procedimento que combine o comando history ao more ou ao comando grep é uma ótima ideia:

alias hm="history | more"
alias hg="history | grep -i"

veja um exemplo de uso deste último:


hg getconf

 1500  getconf LONG_BIT
 1502  man getconf
 1533  getconf -a | grep arq
 1534  getconf -a | grep -i bit

Segue um exemplo para encontrar arquivos no sistema:

alias ff="find / -type f -name"

Agora basta indicar o nome do arquivo, após ff:


ff hello.c

Para fazer buscas dentro dos subdiretórios atuais, use o comando assim:


alias buscar="find . -name "

buscar hello

./hello
./python/scripts/hello

O comando mount pode ser ajustado para exibir uma listagem em colunas organizadas:

alias mount="mount |column -t"

Use estes, para obter informações do sistema:

alias df="df -Tha --total"
alias du="du -ach | sort -h"
alias free="free -mt"
alias ps="ps auxf | more"

Note que já existem utilitários com estes nomes (df, du, free e ps).
O alias se sobrepõe ao nome de um comando preexistente.
Uma variante do último alias, da lista acima, permite buscar informações sobre um determinado processo:


alias psg="ps aux | grep -v grep | grep -i -e VSZ -e"

psg bash

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
justinc+ 28944  0.0  0.0  21992  6064 pts/0    Ss   10:26   0:00 bash

Segue algumas sugestões para fazer a atualização do sistema:

alias sau="sudo apt update"
alias alu="apt list --upgradable"
alias saf="sudo apt full-upgrade"

Para desligar, reiniciar, suspender, hibernar ...

# encerrar a sessão no terminal atual
alias sair="exit"   

# reiniciar o sistema
alias reset="systemctl reboot"

# desligar o sistema
alias desligar="systemctl poweroff"

# suspender o sistema
alias suspender="systemctl suspend"

# hibernar
alias hibernar="systemctl hibernate"

No artigo Como copiar arquivos na linha de comando com exibição do progresso da tarefa, ensino um truque interessante, com o uso do rsync e alias.
Não esqueça que as definições em alias são perdidas quando terminamos uma sessão.
Para que sejam persistentes, é necessário gravá-las em arquivos de inicialização do Bash, como .bashrc ou o .bash_profile ou, ainda, .bash_aliases.

Referências

https://www.networkworld.com/article/2782375/operating-systems/unix-tip--useful-unix-aliases.html.

https://www.linuxtrainingacademy.com/23-handy-bash-shell-aliases-for-unix-linux-and-mac-os-x/.

https://www.digitalocean.com/community/tutorials/an-introduction-to-useful-bash-aliases-and-functions.

https://lifehacker.com/398258/ten-handy-bash-aliases-for-linux-users.

https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html.

Personalize ou crie comandos próprios no Linux com o alias

Mesmo que você não conheça o comando alias, ele provavelmente já está sendo usado em seu sistema.
Os arquivos de configurações pessoais .bashrc ou .bash_profile devem ter uma série de configurações com o uso do alias.

“Alias”, quer dizer apelido.
Sua função é dar nomes curtos para sequências grandes de comandos.

Por exemplo, você pode criar um alias para realizar a atualização do seu sistema, na linha de comandos (CLI):


alias atualiza="sudo apt update"

atualiza

[sudo] senha para justincase: 

O arquivo de configuração .bashrc, presente no seu diretório home (no Debian), já vem com alguns alias predefinidos:

 
cat .bashrc | grep alias

# enable color support of ls and also add handy aliases
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'
    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
# some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'

No meu caso, a maioria está relacionada ao comando grep e ls.

Armazene os apelidos em um arquivo externo

Opcionalmente, você pode adicionar todos os seus alias a um arquivo externo, chamado .bash_aliases (ou outro nome, à sua escolha). Para isto, acrescente ao arquivo de configuração pessoal do Bash (.bashrc), as seguintes linhas:

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

No Debian, estas linhas já estão presentes. De forma que é possível já criar e editar o arquivo .bash_aliases.
Não é obrigatório. Apenas pode ajudar a organizar melhor seus arquivos de configuração do sistema.

Sugestões de alias para usar no seu sistema

Se há sequências de comandos muito longas e usadas, elas podem ser encurtadas em apelidos.
As sequências de atualização do sistema, por exemplo:

alias sau="sudo apt update"
alias alu="apt list --upgradable"
alias saf="sudo apt full-upgrade"

Você pode adicionar apelidos para chegar mais rápido às suas pastas de arquivos mais acessadas:

alias documentos="cd ~/Documentos"
alias scripts="cd ~/scripts/python"
alias vid="cd ~/Vídeos"
alias down="cd ~/Downloads/"
alias mus="cd ~/Músicas/"
alias wallp="cd ~/Imagens/wallpapers"

Alguns comandos úteis para o seu sistema:

alias sair="exit" # para encerrar a sessão no terminal atual
alias reset="systemctl reboot" # para reiniciar o sistema
alias desligar="systemctl poweroff" # para desligar o sistema
alias suspender="systemctl suspend" # para suspender o sistema
alias hibernar="systemctl hibernate" # para hibernar

Obtenha outras sugestões de uso do alias, neste artigo.


Saiba mais sobre as diferenças entre suspender, hibernar e hybrid-sleep.
Use sempre alias para criar apelidos curtos para sequências de comandos grandes — mas que não são tão extensos, que justifique criar um script. 😉
Você tem outras sugestões?! Então, conta pra gente, na caixa de comentários.

Como criar um registro da sua linha de comando no Linux

Você pode querer registrar todos os comandos dados durante uma sessão, no terminal.
Usualmente, para depois analisar com calma e, se for o caso, criar um script a partir deles, para automatizar a tarefa.
Pode ser útil também em aulas, quando o professor deseja aplicar um teste. O aluno apenas envia para ele o arquivo resultado.
O utilitário script inicia automaticamente a gravação (no arquivo typescript) de todas os comandos executados no seu terminal.
Quando terminar e desejar sair da gravação, use o comando exit.
Veja um exemplo:


script


Script iniciado, o arquivo é typescript
justincase@ultra-5 

echo "Toda esta linha será gravada em um arquivo chamado typescript."

ls # esta também.

exit

Script concluído, o arquivo é typescript

cat typescript

linux script save
Se preferir, é possível indicar um outro nome para o seu arquivo:


script meuarquivo.log

Como comportamento padrão, o script sobrescreve o arquivo existente.
Use a opção ‘–append’ ou ‘-a’ para adicionar código a um arquivo preexistente.


script --append backup.sh

Use o yes, para dar respostas automáticas no Linux

O aplicativo yes tem a função de repetir uma string, como resposta às requisições de outros programas.
Pode funcionar como um robô, pré-programado para dar uma mesma resposta a um outro programa.
Apesar do nome, a resposta, não precisa ser “yes”. Pode ser “no”, “não” ou qualquer outra coisa.
Veja um exemplo de execução:


yes "eu não quero ser repetitivo"

A instrução acima, irá fazer com que a cadeia “eu não quero ser repetitivo” seja repetida indefinidamente, até você a interromper, com as teclas Ctrl + c.
en não quero ser repetitivo
Pode usar o utilitário com o apt:


yes | apt full-upgrade

Se preferir que ele responda “no”, use-o assim:


yes no | apt full-upgrade

É um utilitário bem simples com uma função bem simplória.
Às vezes, ele pode ser bem útil.

Como listar processos no Linux em ordem de uso do processador ou da memória

Listar os processos em execução no sistema é fácil.
Neste post, vou mostrar como ordená-los, de maneira que você fique sabendo quem está consumindo mais memória ou quem está usando mais a capacidade de processamento do seu hardware.
O procedimento é simples e pode revelar os vilões do seu sistema. 😉
O comando ps, sozinho, exibe os processos em execução, tal como o comando top.
O top pode ser usado para obter os mesmos resultados, também. Mas vamos ter que abordar seu uso em outro post.
Veja um exemplo de uso do ps:


ps

  PID TTY          TIME CMD
 2037 pts/1    00:00:00 ps
18101 pts/1    00:00:01 bash

O comando ps pode mostrar mais do que apenas isso, com o acréscimo de alguns parâmetros.
Você pode usar o utilitário combinado ao less, para poder ver uma lista maior, com mais conforto:


ps axu | less

Note que os valores de consumo da CPU e da MEMÓRIA se encontram listados na 3a e 4a colunas, respectivamente.
Com o comando, abaixo, vamos ordenar ascendentemente os valores pela coluna 3 (CPU):


ps axu | sort -nk 3

Achou a lista grande? Use o comando tail!


ps axu | sort -nk 3 | tail

www-data 27070  0.0  0.1 405488  9892 ?        S    00:06   0:00 /usr/sbin/apache2 -k start
www-data 32462  0.0  0.1 405488  9892 ?        S    13:35   0:00 /usr/sbin/apache2 -k start
www-data   621  0.0  0.1 362384  7900 ?        S    set25   0:00 php-fpm: pool www
www-data   622  0.0  0.1 362384  7900 ?        S    set25   0:00 php-fpm: pool www
justinc+  1911  0.1  4.7 2044808 375484 tty2   SNl+ set25   5:33 /usr/lib/tracker/tracker-extract
justinc+  1816  0.2  0.1 2215372 15384 ?       S<l  set25   6:33 /usr/bin/pulseaudio --start --log-target=syslog
Root       304  0.5  0.0      0     0 ?        S    set25  18:37 [irq/28-iwlwifi]
justinc+  1790  1.3  4.9 2370480 388544 tty2   Sl+  set25  41:37 /usr/bin/gnome-shell
justinc+  1697  1.5  2.4 514556 194524 tty2    Sl+  set25  49:27 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
justinc+ 10865 30.4 29.4 5285500 2315972 tty2  Rl+  set25 972:35 /usr/lib/firefox-esr/firefox-esr

O tail pode ser usado para exibir apenas as últimas 10 linhas da saída de um comando.
Para obter os valores referentes a coluna 4 (memória), use o comando da seguinte forma:


ps axu | sort -nk 4 | tail

root       569  0.0  0.4 362384 32712 ?        Ss   set25   0:11 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
root       851  0.0  0.4 466684 37800 ?        Ssl  set25   0:24 /usr/lib/packagekit/packagekitd
justinc+  1509  0.0  0.5 619264 42560 ?        Ssl  set25   0:25 /usr/lib/gnome-terminal/gnome-terminal-server
mysql      749  0.0  0.8 686288 66008 ?        Ssl  set25   3:06 /usr/sbin/mysqld
justinc+ 18219  0.0  1.1 946796 92580 ?        Sl   set26   0:04 /usr/bin/gnome-software --gapplication-service
Debian-+   659  0.0  1.3 1789592 108340 tty1   Sl+  set25   1:10 /usr/bin/gnome-shell
justinc+  1697  1.5  2.4 515752 194632 tty2    Sl+  set25  49:29 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
justinc+  1911  0.1  4.7 2044808 375484 tty2   SNl+ set25   5:33 /usr/lib/tracker/tracker-extract
justinc+  1790  1.3  4.9 2370740 389348 tty2   Sl+  set25  41:40 /usr/bin/gnome-shell
justinc+ 10865 30.4 28.8 5282432 2268520 tty2  Sl+  set25 973:25 /usr/lib/firefox-esr/firefox-esr

Fácil, não é?