我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
当前回答
你可以做yes | cp-rf xxx yyy,但我的gutfeeling说,如果你以root身份做,你的.bashrc或.profile有一个cp到cp-i的别名,大多数现代系统(主要是RH衍生产品)都是这样做的。
您可以通过在命令提示符下运行alias来检查现有别名,或者只检查cp的别名。
如果您确实定义了别名,运行unalias cp将取消当前会话的别名,否则您可以将其从shell配置文件中删除。
您可以暂时绕过别名并使用命令的非别名版本,方法是在命令前面加上\,例如\cp whatever
其他回答
cp -u ...
cp --update ...
同样有效。
也可以使用此命令:
cp-ru/zzz/zzz/*/xxx/xxx
它会用新文件更新现有文件。
正如其他答案所指出的,如果cp是cp-i的别名,这可能会发生。
您可以在cp命令之前附加一个\,以使用它而不使用别名。
\cp -fR source target
如果这是一个小文本文件,您也可以这样考虑:
cat my.cnf > /etc/my.cnf
不确定大型或二进制文件的效率或副作用。
如果您想在全局级别保持别名不变,并且只想更改脚本。
只需使用:
别名cp=cp
然后编写后续命令。