在linux下的使用復制命令cp,不讓出現“overwrite”(文件覆蓋)提示的方法。(轉)


在linux下的使用復制命令cp,不讓出現“overwrite”(文件覆蓋)提示的方法。

一般我們在使用cp命令時加上-f選項,希望不讓出現“overwrite”的提示(文件覆蓋的提示)。如:
# cp -rf sourcefile targetdir 

#cp -r -f sourcefile targetdir
-r的意思是遞歸復制,也就是復制文件夾及其下所有文件。
-f的意思是遇到同名的文件時不提示,直接覆蓋。

但是為什么加上-f了,還出現“overwrite”的提示呢?

這是因為系統為防止我們誤操作,覆蓋了不該覆蓋的文件,而使用了命令的別名。使用alias命令查看一下:
# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'

從上邊我們可以看出,我們輸入的cp命令,其實是“cp -i”命令。其他幾個命令,如ll,ls mv,rm等也使用了別名。

第一種解決辦法:
在cp前加上一個"\"符號就不使用別名運行了,如下:
# \cp -f sourcefile targetdir 
第二種解決辦法:
編輯文件,注釋掉別名。
# vi ~/.bashrc
在alias cp='cp -i'前加上“#”注釋掉這行,wq!保存推出,然后重新登陸就可以了。

 

轉自:http://blog.csdn.net/iw1210/article/details/46550707


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM