Melhores práticas para criar um alias para o comando rm e torná-lo mais seguro

Melhores práticas para criar um alias para o comando rm e torná-lo mais seguro

Há algum tempo, excluí erroneamente minha pasta pessoal porque executei um rm -rf *no terminal errado, cujo diretório de trabalho era a pasta pessoal!

Eu gostaria de ter um apelido para o rmcomando, mas não foi o caso.

Agora, estou planejando fazer um script como alias para rm.

Você tem alguma prática recomendada para sugerir?

Obrigado.

Responder1

Se você quiser um personalizado rm, não chame, rmmas sim um nome seu, myrm, deleteou qualquer outro nome.

O rm='rm -i'alias é um horror porque depois de um tempo de uso, você esperará rmuma solicitação padrão antes de remover arquivos. Claro, um dia você irá executá-lo com uma conta que não tem esse alias definido e antes de entender o que está acontecendo, será tarde demais.

De qualquer forma, uma boa maneira de estar preparado para perda ou corrupção de arquivos é fazer backups.

Uma alternativa rápida que irá protegê-lo contra exclusão ou substituição acidental de arquivos é usar um sistema de arquivos que suporte instantâneos ilimitados, como o ZFS. Se instantâneos frequentes forem feitos automaticamente, você poderá recuperar os arquivos no estado em que estavam durante o último instantâneo antes do incidente.  

Responder2

Se você quiser salvar aliases, mas não quer correr o risco de se acostumar com os comandos funcionando de maneira diferente em seu sistema e em outros, você pode desabilitar rmassim

alias rm='echo "rm is disabled, use remove or trash or /bin/rm instead."'

Então você pode criar seu próprio alias seguro, por exemplo

alias remove='/bin/rm -irv'

ou use trashem vez disso.

Responder3

Você poderia tentar usartrashem vez de. Lembre-se de esvaziá-lo de vez em quando...

Responder4

Eu uso o seguinte script.

#!/bin/sh

trash=$HOME/tmp
mv "$@" $trash
nohup find "$trash" -type f -atime +7 -exec /bin/rm '{}' \; 2>&1 &

Se você excluir acidentalmente um arquivo, recupere-o do arquivo $HOME/tmp.

O script move os arquivos excluídos para um tmpdiretório e os exclui na próxima vez que o script de exclusão for executado se o tempo de acesso for 7 dias depois (limpeza semiautomática do $HOME/tmpdiretório).

informação relacionada