如何强制cp在未经确认的情况下被覆盖

我试图使用cp命令并强制覆盖。

我已经尝试过cp -rf /foo/* /bar ,但仍然会提示确认每个覆盖。


你可以做yes | cp -rf xxx yyy yes | cp -rf xxx yyy ,但是我的感觉是说如果你以root身份执行它 - 你的.bashrc.profile具有cpcp -i的别名,大多数现代系统(主要是RH衍生物)都会将它用于根配置文件。

您可以通过在命令提示符处运行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任何别名。

链接地址: http://www.djcxy.com/p/39323.html

上一篇: How to force cp to overwrite without confirmation

下一篇: How do I stop/workaround Java apps stealing focus in Linux window managers