关闭cp(复制)命令的交互模式(cp:覆盖?)


17

有谁知道我在使用cp时如何关闭交互模式?

我正在尝试将目录递归复制到另一个目录,对于每个被覆盖的文件,我必须回答“ y”。

我正在使用的命令是:

cp -r /usr/share/drupal-update/* /usr/share/drupal

但是我被要求确认每个覆盖:

cp: overwrite `./CHANGELOG.txt'? y  
cp: overwrite `./COPYRIGHT.txt'? y  
cp: overwrite `./INSTALL.mysql.txt'? y  
cp: overwrite `./INSTALL.pgsql.txt'? y  
...

我正在使用ubuntu服务器版本jaunty。
谢谢!


1
删除别名通常是“ unalias”。更改问题也是一个坏主意,因为答案不再有意义。
pehrs

我同意更改问题不是一个好主意-但问题从未改变-我只是添加了标签。
Faisal Vali 2010年

我个人是rsync的忠实拥护者,即使在本地复制文件时,我也倾向于使用它。好的,不是在我仅进行简单的复制操作时,而是在较大的传输期间,是的。为什么?由于rsync在递归传输方面具有广泛的用途,因此可以进行空运行,包括/排除,保留各种权限,继续中断的操作等。
Janne Pikkarainen,2010年

Answers:


43

执行:

alias cp

查看是否cp已别名为cp -i

在这种情况下,请运行:

\cp -r /usr/share/drupal-update/* /usr/share/drupal 

忽略别名


我建议找到在哪里制作别名并删除它...希望他们将其放在本地文件中。这是我不使用* buntu的原因
xenoterracide 2010年

这是一个旧线程,但是Ive升级到了Fedora 19,并且发生了。有人为cp设置了一个默认别名

要使用原始命令而不是ailas,请使用command cp ...
ltn100'1

unalias cp在这种情况下,您也可以这样做。
Dominique

3

cp -f不会要求确认(这是强制的)

cp -fr /usr/share/drupal-update/* /usr/share/drupal

cp -fr仍在要求确认:(
Faisal Vali 2010年

-可能是删除目的地?
TonyUser 2010年

--remove-destination在这种情况下确实可以提供帮助。如果需要,通常是访问权限问题。
pehrs

2
cp -fr仍然要求确认是否具有交互式别名:“ alias cp ='/ bin / cp -i'”。您或者需要取消别名cp:“ unalias cp”,或者可以使用\:“ \ cp -r / bla / / foo /”在不使用别名的情况下运行。请参阅上面的杜安答案。
andrei 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.