WAŻNE: Nowoczesne systemy UEFI montują oprogramowanie układowe w /sys
katalogu i udostępniają je systemowi operacyjnemu. NIE uruchamiaj tego polecenia na nowoczesnym systemie, ponieważ spowoduje to usunięcie tego oprogramowania układowego, co zasadniczo powoduje uszkodzenie komputera.
Najprostszym scenariuszem, jaki mogę wymyślić, jest ktoś, kto chce usunąć wszystkie dane z dysku. Mogą istnieć całkowicie uzasadnione powody, aby to zrobić, a najprostszym sposobem, jaki mogę wymyślić, jest
rm -rf --no-preserve-root /
Okazuje się, że ten jest podany jako przykład w info rm
:
`--no-preserve-root'
Do not treat `/' specially when removing recursively. This option
is not recommended unless you really want to remove all the files
on your computer.
Innym doskonałym powodem jest to, że chcesz usunąć zamontowany system plików, do którego się chroot
zalogowałeś. W takim przypadku rm -rf --no-preserve-root /
usunie system w chroot
środowisku, ale pozostawi nienaruszony.
Jestem pewien, że istnieje więcej możliwych powodów, ale ogólnie wydaje się bardzo rozsądnym podejściem, że mój system pozwala mi robić z nim wszystko, co chcę. Moim zadaniem jest być ostrożnym, system powinien umożliwiać mi tylko robienie tego, co chcę. Jeśli to, co chcę, jest głupie, to mój problem, a nie system operacyjny.
W każdym razie jest to stosunkowo nowe ograniczenie, zostało dodane w siódmej wersji specyfikacji POSIX ( poprzednia jest tutaj), zanim rm -rf /
było to całkowicie poprawne polecenie. Z historycznego punktu widzenia, .
i ..
katalogi były zawsze chronione rm
od 1979 roku, kiedy to rm
po raz pierwszy nabył możliwość usuwania katalogów. Więcej na ten temat tutaj .
/
, ale »przypadek ogólny« jest nadal reprezentowany. Innymi słowy: »Powiedzenie mi, co mam robić, nie jest zadaniem mojego komputera.« I nie powinno tak być.