Um dos truques que eu sigo é colocar #
no começo, usando o comando rm
.
root@localhost:~# #rm -rf /
Isso evita a execução acidental de rm
no arquivo / diretório incorreto. Depois de verificado, remova #
do início. Esse truque funciona, porque no Bash uma palavra que começa com #
faz com que essa palavra e todos os caracteres restantes nessa linha sejam ignorados. Então o comando é simplesmente ignorado.
OR
Se você quiser evitar algum diretório importante, há mais um truque.
Crie um arquivo chamado -i
nesse diretório. Como um arquivo tão estranho pode ser criado? Usando touch -- -i
ou touch ./-i
Agora, tente rm -rf *
:
sachin@sachin-ThinkPad-T420:~$ touch {1..4}
sachin@sachin-ThinkPad-T420:~$ touch -- -i
sachin@sachin-ThinkPad-T420:~$ ls
1 2 3 4 -i
sachin@sachin-ThinkPad-T420:~$ rm -rf *
rm: remove regular empty file '1'? n
rm: remove regular empty file '2'?
Aqui, o *
expandirá -i
para a linha de comando, de modo que seu comando se torne rm -rf -i
. Assim, o comando solicitará antes da remoção. Você pode colocar esse arquivo em /
, /home/
, /etc/
, etc.
OR
Use --preserve-root
como uma opção para rm
. No rm
incluído nos pacotes coreutils
mais recentes, essa opção é o padrão.
--preserve-root
do not remove '/' (default)
OR
Use safe-rm
Trecho do site:
Safe-rm is a safety tool intended to prevent the accidental deletion of important files by replacing /bin/rm with a wrapper, which checks the given arguments against a configurable blacklist of files and directories that should never be removed.
Users who attempt to delete one of these protected files or directories will not be able to do so and will be shown a warning message instead:
$ rm -rf /usr Skipping /usr