Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I think the title is pretty self-explanatory. All i want is bash to warn me whenever I attempt to overwrite an existing while using cp or mv. I'd really appreciate some help. :)

share|improve this question
up vote 24 down vote accepted

You should use the interactive mode which makes sure you get a 'prompt before overwrite'

cp --interactive
mv --interactive

Or in short

cp -i
mv -i

Type man cp or man mv on your command line to find out more.

share|improve this answer
So i guess those to commands go as aliases in my .bashrc as well. Thanks a lot. Appreciate your help. :) – sayantankhan Jan 5 '13 at 11:33
Indeed! You can append something like alias rm='rm -i' to your .bashrc or better your .bash_aliases. Read more in the post How do I create a permanent Bash alias? – don.joey Jan 5 '13 at 11:40
But i just thought of something. What about some of the scripts i've written. Will they use the aliased cp and mv or the normal one? – sayantankhan Jan 6 '13 at 9:44
@Bolt64 It depends on where you put your alias definition, but usually it will use the normal one. – Janek Warchoł May 6 at 9:12

You also want to put set -o noclobber in your .bashrc. This will raise an error if you try to overwrite an existing file by output redirection.

$ set -o noclobber
$ echo one > afile
$ echo two > afile
bash: afile: cannot overwrite existing file

You can force the redirection to work with special syntax:

$ echo two >| afile
$ cat afile

share|improve this answer
To the anonymous editor: the man page disagrees with you. – glenn jackman Dec 24 '13 at 7:44

Your Answer


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.