我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
当前回答
正如其他答案所指出的,如果cp是cp-i的别名,这可能会发生。
您可以在cp命令之前附加一个\,以使用它而不使用别名。
\cp -fR source target
其他回答
对我来说最简单的方法是:
yes | cp source destination
默认情况下,cp的别名为cp-i。您可以检查它,键入别名,然后可以看到类似的内容:
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
要解决这个问题,只需使用/bin/cp/from/To命令,而不是cp/from_To命令
正如其他一些答案所指出的,您可能在某个地方使用了将cp映射到cp-i或类似的别名。通过在命令前面加一个反斜杠,可以运行没有任何别名的命令。在你的情况下,尝试
\cp -r /zzz/zzz/* /xxx/xxx
反斜杠将暂时禁用您调用的任何别名。
另一种不使用别名调用命令的方法是使用bash中内置的命令。
命令cp-rf/zzz/zzz/*
我找到了这个
'cp' -rf * /data/danalonso_testing/target/
资料来源:https://superuser.com/questions/358843/how-to-replace-all-the-contents-from-one-folder-with-another-one/358851