Tenha em mente que não é uma boa ideia renomear ou mover seu comando "rm". Uma prática muito melhor é usar o comando alias
the rm
para usar um script completamente diferente no perfil do usuário.
no seu .bash_profile (supondo que você esteja usando o bash como seu shell padrão)
alias rm='~/bin/deleteFile'
e, em seguida, você pode criar o script ~/bin/deleteFile
. Basta copiar / modificar o seguinte para atender às suas necessidades:
#!/bin/bash
TODEL=$1
if [ "${TODEL:0:1}" == "/" ]; then #full path?
TRASH=~/trash-can/'dirname $1'
else #relative path.
TRASH=~/trash-can/'pwd'/'dirname $1'
fi
mkdir -p $TRASH 2> /dev/null
mv $TODEL $TRASH
Isso não foi testado, mas deve funcionar para as suas necessidades. Há algumas advertências que devem ser abordadas ... mas cabe a você decidir como deve ser tratado. Ou seja, o que acontece quando você apaga um arquivo, cria um novo nome com o mesmo nome e depois o exclui? e esse script não limpará sua lixeira. Talvez um cron-job uma vez por semana ou algo assim?
Isso NÃO substituirá um script que chame /bin/rm
diretamente, nem funcionará com scripts que não estejam carregados no seu perfil bash. Provavelmente existem centenas de coisas adicionais que devem ser consideradas antes de confiar neste script em qualquer grau.