how to stop cp: overwrite './xxx' ? prompt

How can I stop the cp command from prompting to overwrite. I want to overwrite all the files with out having to keep going back to the terminal. As these are large files and take some time to complete.

I tried using the -f option. It still ask if I want to overwrite.

-f,--force
          if an existing destination file cannot be opened, r
emove it and try again
(redundant if the -n option is used) cp -f /media/somedir/somefiles*. cp: overwrite `./somefilesxxx'? y


In addition to calling /bin/cp, you could do one of:

\cp -f ...
command cp -f ...

However, I agree that you should not get accustomed to using an alias like cp -i or rm -i -- if you sit down at a different shell, you won't have the safety net you've become dependent on.

After seeing this solution. I could see that bashes alias feature was causing the problems.http://systembash.com/content/prompt-to-confirm-copy-even-with-cp-f/

which cp  
alias cp='cp -i'/bin/cp
which cp | grep cp
alias cp='cp -i'/bin/cp

He recommends

unalias cp

I still want to keep the alias I just don't want it to apply to this instance. My solution is to use the binary with a full path, so that bashes alias function does not take over. That works quite well.

/bin/cp -f /media/somedir/somefiles*.
 
posted @ 2014-04-21 15:54  alxe_yu  阅读(1033)  评论(0)    收藏  举报