您可以做yes | cp -rf xxx yyy
,但是我的 gutfeeling 说,如果您以 root 身份执行 - 您的.bashrc
或.profile
具有cp -i
cp
别名,大多数现代系统(主要是 RH 派生系统)都会对 root 概要文件执行此操作。
您可以通过在命令提示符alias
来检查现有的别名which cp
别名来检查cp
。
如果确实定义了别名, unalias cp
将会取消该别名,否则,您只需将其从 Shell 配置文件中删除即可。
\
来临时绕过别名并使用命令的非别名版本,例如\cp whatever
这可能是由于cp
已经被别名为cp -i
。直接调用cp
应该可以:
/bin/cp -rf /zzz/zzz/* /xxx/xxx
解决此问题的另一种方法是使用yes
命令:
yes | cp -rf /zzz/zzz/* /xxx/xxx
正如其他一些答案所指出的那样,您可能在将cp
映射到cp -i
或类似名称的地方使用了别名。您可以通过在命令前面加上反斜杠来运行不带任何别名的命令。在您的情况下,请尝试
\cp -r /zzz/zzz/* /xxx/xxx
反斜杠将暂时禁用您称为cp
任何别名。