I've often wondered how far the system will actually get if you run rm -rf /
. I doubt the OS would be able to erase itself (?)
Bonus Question: After the command has been executed, will rm
have removed itself?
Update: I've tested this in a couple of the main unix distributions using VirtualBox and the answers describe exactly what happens. If given the correct parameters, rm will remove every physical bit of data on the disc. However, I ran into some issues when using a version of rm other than the GNU one. For example, I believe BusyBox has their own version and it doesn't let you remove as much as you potentially could.
This question was a Super User Question of the Week.
Read the July 7th, 2011 blog entry for more details or submit your own Question of the Week.
Answer
If you have rm
from GNU coreutils (most probably if it's a regular Linux distro), rm -rf /
will be refused by the built-in protection (according to manpage and Wikipedia, haven't tried that).
You can override this protection with --no-preserve-root
. rm
will then remove everything it possibly can, without stopping after having attempted to remove every single file. Of course it won't remove virtual filesystems like /proc
and /sys
, but that's irrelevant – it will remove everything on your disk.
After the command finishes, you disk will be wiped empty, including the OS. The kernel and current processes will continue to run from memory, but many processes will die because they will fail to access some file. The OS will fail to boot next time.
No comments:
Post a Comment