Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have read some time ago (can't find the reference) that using such an alias as alias rm="rm -i" was very bad.

Is there historical evidence or common sense explanation for that fact?

I would imagine that it gives a user a bad habit of relying on the confirmation prompt to check his command, which could lead to disasters if he does so on another profile that doesn't have the alias.

share|improve this question
    
possible duplicate of Best practices to alias the rm command and make it safer –  Daniel Beck Feb 1 '12 at 15:12
    
I think I found the topic you mentioned. –  Daniel Beck Feb 1 '12 at 15:12
    
@Daniel indeed the most upvoted answer of this thread mentions this bad practice, but it is not really the question's central topic. –  Dunaril Feb 1 '12 at 15:49

4 Answers 4

up vote 23 down vote accepted

You're right.

It's bad because you get used to it. If you're on a system that doesn't have it, and you rm, it immediately starts deleting and you're wondering what's going on.

Many users are used to SSH'ing into different systems; so using lots of different systems, sometimes without personalized user accounts (including aliases) set up, is rather common.

Instead, use e.g. alias rmi='rm -i' and learn to use that one. If that isn't set up on a different system, you didn't accidentally delete files and can always fall back to typing the full command.

share|improve this answer

Like @Daniel said, it's not harmful in and of itself, other than training you to expect it to be there. In fact, it's the default set-up on CentOS (and by extension RHEL, I presume - been too long since I've used one) machines, and it's a massive pain in the tuchus. For the rest of my time at that gig, I typed /bin/rm in order to avoid the "Linux for people who shouldn't have root access" setup.

share|improve this answer
2  
RHEL has this by default, you're right, at least the systems I used. –  Daniel Beck Feb 1 '12 at 15:18

I think the big danger is that people might rely on something like this to filter a glob. Imagine you want to delete some images from a directory, but not all of them:

rm -i pics/*.jpg

You could use that to filter the glob manually, which would be completely reasonable. But, if you had aliased it and were using rm and happened to land in a shell without that alias and try it... you just deleted all your pictures, oops!

Personally I also find this alias to be harmful to my blood pressure ;). But that's just me.

share|improve this answer
    
Nice example. Of course if you like danger, or gambling.. –  Dunaril Feb 1 '12 at 15:54

In addition to what Daniel Beck said, I found myself using -f to bypass the -i, which is potentially dangerous as it results in using rm -f and rm -rf unnecessarily. Somehow related: a way to prevent rm -rf issues is this is to create file called "-i" as duscissed in answer of this question:How do I prevent accidental rm -rf /*?.

But again, if that alias wasn't there, I wouldn't use -f, and the whole thing won't be an issue.

share|improve this answer
    
Looks like you found a way to make this bad practice even worse :) –  Dunaril Feb 1 '12 at 15:51

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.