Red Hat Linux cp命令默认不能强制覆盖的问题

问题现象:当我们拷贝一个文件时,如果要拷贝为的目标文件已经存在,系统默认或提示用户是否需要覆盖。如果我们不想要这样的交互模式,直接覆盖文件,可以使用参数 -f 。但是实际执行cp -f 命令后,系统还是要提示是否覆盖文件,如:
# cp -f syslog syslog.1
cp: overwrite `syslog.1′?
#

 解决办法:给命令加上路径即可。
# /bin/cp -f syslog syslog.1
#

原因分析:可能原因是我们在.bashrc中给cp设置了别名,如:alias cp=’cp -i’,去掉这个别名也可以解决问题。当然为了不误覆盖文件,还是不要删除的好。当我们cp -f命令后,实际执行的是cp -i -f 命令,这个时候程序就不知道到底要怎么办了,默认就忽略-f了,所以-i和-f不要同时使用。

发表评论

邮箱地址不会被公开。 必填项已用*标注

机器人检查 *

分享我的最新文章标题到这里

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据