Como evitar o uso incorreto do comando rm -rf? [duplicado]

0

Como todos sabemos, este comando é muito perigoso, eu tenho uma ideia como a seguir, mas não sei como realizar. Se você tem a melhor solução para isso, bem-vindo para anotar.

Acho que podemos criar um diretório para simular a lixeira, sempre que excluirmos algo, esses arquivos / diretórios serem movidos para a lixeira e houver um script comum, lembre-nos de esvaziar a lixeira.

    
por hjklemacs 13.08.2016 / 16:42

2 respostas

2

Existem algumas ferramentas que você pode usar em vez de rm , mas nada pode mudar o fato, que os arquivos r e m oved são se foi. Eu sempre uso ls antes de rm para verificar se todos os arquivos devem ser removidos. Antes de usar

rm ~/.cache/*

eu vou digitar:

ls ~/.cache/*
    
por iacobus 13.08.2016 / 17:00
0

Se você realmente quiser se impedir de digitar rm -fr ... , poderá aliasar o comando.

se você editar o arquivo ~ / .bashrc e incluir a seguinte linha na seção alias:

alias rm="rm --"

Isso significa que toda vez que você digitar o comando rm, ele será substituído por rm -- ; o -- informa ao rm que você terminou de inserir opções e tudo após o - deve ser tratado como um nome de arquivo. Portanto, depois de ter dado o comando alias, digitar rm -f fará com que o computador execute rm -- -f e, supondo que você não tenha nenhum arquivo chamado "-f", receberá uma mensagem de erro ao longo das linhas de "rm : não é possível remover '-f': Nenhum arquivo ou diretório "

Se você está se sentindo realmente paranóico, pode usar alias rm="rm -i --" . O -i pede ao rm para avisar antes de cada exclusão.

Observe que o alias só se aplicará aos shells iniciados após você ter editado o .bashrc, portanto, não digite rm -fr / em um terming existente para ver se funcionou!

Se você realmente quiser usar qualquer opção com rm, você pode evitar o alias dando o comando /bin/rm ...

    
por Nick Sillito 14.08.2016 / 09:36