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 manter o Debian automaticamente atualizado com as correções de segurança

No mundo do software livre, as atualizações de segurança chegam a uma velocidade muito grande.
Comumente, os security patches estão disponíveis já no momento em que a vulnerabilidade é anunciada.
A questão é como obter a atualização o mais rápido possível?

A usuários normais (como eu, por exemplo), basta seguir o cronograma natural de atualizações do seu sistema.
Esta liberdade não se aplica a administradores de servidores, na rede. Quanto mais importante, maior a responsabilidade e a urgência.

As atualizações de que estamos falando aqui, são as referentes à segurança do sistema e a correções de bugs.
Computadores de usuários comuns, em geral, podem esperar uma semana para obtê-las. Já os servidores, não.
Neste post, vou mostrar um procedimento que irá fazer o download e upgrade dos patches de segurança em segundo plano, assim que estiverem disponíveis nos repositórios da sua distro, sem perguntar “se pode” — você será apenas avisado de que o seu sistema foi atualizado.

Por que as atualizações de segurança devem ocorrer em segundo plano

Obviamente, se o meu sistema operacional fosse atualizado por uma grande corporação, como a Oracle ou a Microsoft, a conversa seria bem diferente, aqui.
Contudo, há motivos sólidos para confiar na comunidade de desenvolvedores Debian — e o principal destes motivos é o fato de que todo o trabalho da comunidade pode ser 100% auditado, por qualquer pessoa.
Não dá para dizer o mesmo de empresas que repassam código essencialmente proprietário — caso em que nunca sabemos realmente o que está sendo modificado em nosso sistema.

Aplicar atualizações com frequência é prática importante para manter nossos sistemas seguros.

Como comportamento padrão, o Debian pede para que o administrador do sistema faça as atualizações ou as autorize manualmente.
Mas você pode optar pelo download e instalação automáticos dos updates de segurança mais importantes.

A instalação

O nome do pacote a ser instalado é ‘unattended-upgrades’.
Ele sugere a instalação dos pacotes ‘bsd-mailx’ – para enviar email, informando o adm de que houve uma atualização de segurança – e ‘needrestart’, que verifica junto aos daemons do seu sistema quais precisam ser reiniciados.
Opcionalmente, também podemos instalar o ‘apt-listchanges’ que, neste caso, atua como um plugin — que compara as versões instaladas dos pacotes às novas, lendo os changelogs e os news fles.
Veja como instalá-los:


sudo apt install unattended-upgrades apt-listchanges bsd-mailx needrestart

Configuração

Para poder receber mensagens via email, é necessário alterar o arquivo de configuração ’50unattended-upgrades’. Use o seu editor favorito para isso:


sudo editor /etc/apt/apt.conf.d/50unattended-upgrades 

Descomente a linha abaixo, removendo os ‘//’:


//Unattended-Upgrade::Mail "root";

Se deixar, do jeito que está, as mensagens serão encaminhadas ao root. Mas você pode inserir uma conta de email no lugar da string “root” (entre as aspas).
A seguir, apenas verifique se o arquivo ’20auto-upgrades’ bate com o conteúdo abaixo:


cat /etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Você pode configurar o arquivo ’20auto-upgrades’ adequadamente com a seguinte linha de comando:


sudo dpkg-reconfigure -plow unattended-upgrades

Replacing config file /etc/apt/apt.conf.d/20auto-upgrades with new version

captura de tela debian unattended upgrades

captura de tela debian unattended upgrades

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

https://www.cyberciti.biz/faq/how-to-keep-debian-linux-patched-with-latest-security-updates-automatically/.

Como alternar para o modo convidado no Android

Comumente, precisamos emprestar nosso telefone para alguém próximo (usualmente amigo ou da família) poder realizar alguma ligação ou acessar algo na Internet.
Para não expôr a sua privacidade — o que você vê na Internet, suas fotos, seus vídeos etc. — é possível, com apenas 2 toques, mudar para o modo convidado ou guest mode. Depois disso, é só entregar o aparelho, com toda a tranquilidade.
O usuário convidado poderá fazer suas ligações, acessar a Internet etc. — até mesmo em outro local, longe dos seus olhos. O recurso permite preservar a sua privacidade e a dele(a).
O Android não permite que o convidado acesse os arquivos do dono do aparelho, tampouco seu histórico de navegação ou as suas contas nas redes sociais.

As últimas versões do Android incorporaram o recurso guest mode, que torna seus dados inacessíveis às pessoas para quem você empresta o celular.
É como se estivessem usando um aparelho totalmente novo, recém-chegado da loja.

Como acessar o modo convidado do Android

Siga o seguinte procedimento para ativar o guest mode no seu smartphone:

  1. Arraste a barra de status, para baixo, com 2 dedos.
  2. Toque no ícone do usuário, na parte superior, à direita.
  3. Agora, toque em “Adicionar convidado” ou “Add guest” (na versão em inglês, do Android).

…e aguarde a alternância.

Para sair do modo convidado, Siga os 2 primeiros passos novamente. Em seguida toque no ícone do usuário principal do telefone.

O que acontece quando o smartphone está no modo convidado

Como você vai perceber, ele vai adquirir a aparência original do smartphone.

O convidado passa a usar uma área de armazenamento somente sua, embora continue a compartilhar itens do hardware do aparelho com o usuário-proprietário.

Cuidados que você precisa ter ao usar um aparelho no modo convidado

Os usuários do dispositivo (convidado e proprietário, neste caso) não têm acesso às áreas uns dos outros. Isto quer dizer que, eventuais fotos ou downloads que o guest fizer, ficarão armazenados em seu próprio espaço.
Como comportamento padrão, quando o convidado sair, o Android remove seus arquivos e todos os resquícios de sua presença do telefone.
Tenha cuidado, antes de se desautenticar como guest, para armazenar o que você ainda vai precisar usar em outro local.

Todos os arquivos e apps baixados pelo convidado, bem como suas configurações, serão perdidas.

Se o convidado for usar o aparelho por um período mais prolongado e se for tirar fotos, por exemplo, é recomendado se logar em algum serviço de nuvem, para armazenar suas imagens.

Configure o sudo para fazer piadas quando o usuário erra a senha

A cultura hacker é extremamente forte entre usuários Linux/UNIX e a descontração, quando alguém comete um erro, sempre fez parte da comunidade.
O comando sudo, como comportamento padrão, admite até 3 tentativas de senhas erradas.
Depois disto, ele termina e envia uma mensagem ao root (administrador do sistema), informando sobre a “tentativa de obter privilégios” perpetrada pelo usuário em questão.
comando sudo insultos
As piadas ou “insultos”, são variados.
Veja alguns exemplos (com a minha tradução livre):

  1. You speak an infinite deal of nothing — “Você diz um amontoado de besteiras”
  2. Take a stress pill and think things over — “Tome um calmante e pare para pensar”
  3. That’s something I cannot allow to happen — “Taí uma coisa que eu não posso deixar acontecer”
  4. You silly, twisted boy you — “Seu tolo, você é um menino confuso”
  5. I have been called worse — “Já me chamaram de coisa pior”

Sinta-se à vontade para sugerir uma tradução diferente, nos comentários, caso não concorde com alguma (sem ofensas!) Sua contribuição será bem vinda. 😉

Como configurar o sudoers para ofender os usuários

Abra o arquivo de configuração do sudo com o visudo:


sudo visudo

localize a seção que tem os Defaults e acrescente uma linha com o seguinte conteúdo:


Defaults	insults

Se não quiser acrescentar uma linha, é possível apenas adicionar uma vírgula, seguida do parâmetro ‘insults’ a qualquer uma das linhas já existentes.
Veja como está esta sessão no meu arquivo de configuração sudoers:


Defaults        env_reset,timestamp_timeout=5,pwfeedback, insults
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin$
Defaults        insults

A depender do seu sistema, pode ser necessário se reautenticar para poder ver os efeitos da alteração.

Como obter a lista de insultos, ofensas e piadas do sudo

No Debian 9, a lista completa de insultos pode ser obtida no arquivo binário ‘/usr/lib/sudo/sudoers.so’.
Ele pode ser encontrado com o comando find, caso não esteja lá:


find /usr/lib/sudo -type f | xargs grep "fallen in the water"

Arquivo binário /usr/lib/sudo/sudoers.so coincide com o padrão

Por ser um arquivo binário, se você usar o comando cat nele, vai obter um monte “lixo” na sua tela.
Tente encontrar as frases com o seguinte comando, no terminal:


strings /usr/lib/sudo/sudoers.so | less

Agora digite ‘/dumber’ e as frases irão aparecer na tela.
No Askubuntu (link no final), é possível encontrar as várias listas de insultos, separadas por arquivos.
Minhas preferidas são as que usam falas do filme 2001: A Space Odissey (2001: Uma Odisseia no Espaço).
Veja algumas:

  • “Just what do you think you’re doing Dave?”
  • “It can only be attributed to human error.”
  • “That’s something I cannot allow to happen.”
  • “My mind is going. I can feel it.”
  • “Sorry about this, I know it’s a bit silly.”
  • “This mission is too important for me to allow you to jeopardize it.”
  • “I feel much better now.”

Desta vez, vai sem tradução…

sudo insults list
Sudo insults list.

Acho, ainda, importante frisar que certas frases, desta “brincadeira”, induzem a erro de interpretação, como os exemplos abaixo:

  • invalid authentication methods.
  • Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication.
  • There are no authentication methods compiled into sudo! If you want to turn off authentication, use the –disable-authentication configure option.
  • Unable to initialize authentication methods.

As mensagens acima podem levar um usuário desavisado a “entrar em parafuso” (se ele souber algum inglês, claro). Além disso, elas não fazem sentido algum para os propósitos do sudo.
Se você, como sysadmin, se incomoda com perguntas “inocentes” de usuários, ativar os insults pode não ser uma boa ideia.
Na dúvida, para não ter problemas, use uma mensagem personalizada para o sudo.

Referências

https://askubuntu.com/questions/837558/where-are-sudos-insults-stored/837562.