我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
我正在尝试使用cp命令并强制覆盖。
我尝试过cp-rf/foo/*/bar,但仍然会提示我确认每个覆盖。
当前回答
它不是cp-i。如果您不想被要求确认,它是cp-n;例如:
cp -n src dest
或者在目录/文件夹的情况下:
cp -nr src_dir dest_dir
其他回答
正如其他答案所指出的,如果cp是cp-i的别名,这可能会发生。
您可以在cp命令之前附加一个\,以使用它而不使用别名。
\cp -fR source target
cp -u ...
cp --update ...
同样有效。
另一种不使用别名调用命令的方法是使用bash中内置的命令。
命令cp-rf/zzz/zzz/*
您可能在某处有一个别名,将cp映射到cp-i;因为使用默认设置,cp不会要求覆盖。检查你的.bashrc,你的个人资料等。
请参阅cp手册页:只有在指定-i参数时,cp才会在覆盖之前实际提示。
您可以通过别名命令进行检查:
$ alias
alias cp='cp -i'
alias diff='diff -u'
....
要取消定义别名,请使用:
$ unalias cp
cp通常是这样的别名
alias cp='cp -i' # i.e. ask questions of overwriting
如果确定要进行覆盖,请使用以下命令:
/bin/cp <arguments here> src dest