Linux中cp总是提示覆盖文件的解决办法

来源:互联网 发布:php trim 不能 编辑:程序博客网 时间:2024/04/27 15:01

把a目录下的文件复制到b目录
cp –r a/* b
执行上面的命令时,b存在的每个文件都会提示是否覆盖;
cp –r –f a/* b
执行上面的命令时,b存在的每个文件都不再会提示;
这是我们希望的理想状态,但是有时加了 -f了,怎么还会有提示呢?原来一些服务器会默认增加别名 alias cp =’cp -i’,当你执行cp 时, 其实执行的是cp –i。
在终端执行alias就可以看出来了。
[root@devdb ~]# alias
alias cp =’cp -i’
可以这样解决,

*方法1*

[root@devdb ~]# vi ~/.bashrc
在alias cp =’cp -i’前加上”#”注释掉这行,:wq!保存退出!
然后重新登陆就可以了。
如:
cp -R -f /home/priceangels/* /usr/ROOT/

方法二

\cp –r –f a/* b

方法来源

Q:UNIX命令前加\表示什么意思呢

比如:
\cp -f * /data1/
这样就能取消环境文件.cshrc的alias的某些东西
这是为什么呢

A:

\c == c
故\cp == cp

一般情况下是一样的
但是,有时候会出现这种情况 有人这样使用了alias命令
alias cp=”cp -i”
你再用cp a b时就会被翻译成 cp -i a b
但是用\cp就不会了

0 0