Observei na documentação rm
como obtido pelo rm --help
seguinte sinalizador:
--no-preserve-root do not treat `/' specially
O que isto significa? É realmente possível excluir o diretório raiz, além de seu conteúdo ? Que consequências isso teria?
rm -rf /
. Eles colocam isso em prática porque sim, você pode e seu sistema será inútil.rm -rf /
exclui o conteúdo do diretório raiz; mas o próprio diretório raiz ainda não existiria?/
menos que você adicione a--no-preserve-root
opção.Respostas:
Você não pode excluir o próprio diretório raiz. No entanto, você pode usar de rm recursiva modo para apagar tudo em que diretório - o infame
rm -rf /
comando.O modo "preservar raiz" para
rm
de operar recursivamente no diretório raiz:A
--preserve-root
opção foi adicionada ao GNU rm em 2003 (commit 9be74f6f125b2be) e tornou-se o comportamento padrão em 2006 (commit aff5a4f2ab86f).Alguns dizem que é porque os brincalhões no #ubuntu ficavam dizendo aos novatos para correr
rm -rf /
- e muitos o fizeram. Alguns dizem que é porque é muito fácil digitar erradorm -rf / tmp/junk
. Alguns dizem que é para evitar acidentes ao executarrm -rf $dir/
quando $ dir está vazio.Tudo o que sabemos é que ele se chama thDe qualquer forma, faz parte dos requisitos do POSIX atualmente. O Solaris
rm
também possui proteção semelhante , assim como o OpenBSD .fonte