4 ms·
Reversely, I wonder why `rm` hasn't been patched to abort when the `/` path is passed as an argument (with maybe a --no-really-i-mean-it argument for the really
by zimbatm 12y ago
Reversely, I wonder why `rm` hasn't been patched to abort when the `/` path is passed as an argument (with maybe a --no-really-i-mean-it argument for the really rare cases where that's what you want)
EDIT: not sure why this is being down-voted. It's just an idea, albeit possibly a bad one.
- rwos 12y agoGNU rm has exactly that built-in: $ rm -rf / rm: it is dangerous to operate recursively on ‘/’ rm: use --no-preserve-root to override this failsafe
- amelius 12y agoThe problem with this kind of safety nets is that it may break scripts that rely on this to work.
- erydo 12y agoHow many daily-use scripts do you suppose intentionally run `rm -rf /`? Cost-benefit for common use seams clearly in favour of adding a failsafe.
- Lambdanaut 12y agoIt's a good thing you can fix the script by adding that flag into them.
- tombrossman 12y agoGo on, fire up a cheap VPS somewhere like DigitalOcean and run "rm -rf / --no-preserve-root". Maybe I am too easily amused but as a long-time Linux user on the desktop this is one of those things I always wanted to try. After it runs, you can't even shut down or run anything else, you just kill the SSH session.
- deleted 12y ago[deleted]
- cgag 12y agotarsnap forces you to type "No Tomorrow" when you try to delete all your backup. Something like that would be great.
- brianmwaters_hn 12y agoI think this is kind of antithetical to the Unix philosophy. If you add special exceptions for things like "rm -rf /" then you start to wonder, why not add exceptions for other dangerous things, like "find / -delete" and "rm -rf /usr". In general, most of the basic Unix tools operate off of relatively simple first principles and don't contain exceptions for things like this.
- marcosdumay 12y agoWhen young I once had the opinion that such exceptions would be a good thing. That is, until I installed some version of Red Hat that aliased rm to "rm -i", and extracted a few wrong tar files. Then I understood why the shell is that way, and why everybody just clicks "ok" on Windows dialog boxes without reading the alerts. Funny thing is that I lost some important files because I expected the prompt, but pressed "y" 19 times, instead of 18... Nowadays I Just do backups.
- __david__ 12y agoFirst off, as someone already pointed out GNU rm does fail on `rm -rf /`. Secondly, that one is way more important than trying to protect `find / -delete` and `rm -rf /usr` because it's just way easier to mess up and have a stray slash in your command line. Case in point, a unix novice coworker of mine came up to me once and said, I think I might have done something wrong. I'm trying to remove an empty directory and it's hanging. Turned out he created a directory in whatever linux workspace gui he was running at the time and accidentally added a space at the end. He didn't notice until he used terminal `ls` to look at it and then noticed it printed like this (with `ls -F`): somedir / So he decided to rm it and start over. Can you guess what he typed?
- brianmwaters_hn 12y agoFor the record, GNU's Not Unix.