Como copiar ou mover arquivos sem ser solicitado a sobrescrever?

8

O que eu tentei:

root@host [/home1]# cp -f hello /home3
cp: omitting directory 'hello'
root@host [/home1]# cp -rf hello /home3
cp: overwrite '/home3/hello/.buildpath'? y
cp: overwrite '/home3/hello/.bash_logout'? y
cp: overwrite '/home3/hello/.project'? ^C

Eles sempre me perguntam se eu quero sobrescrever. Usando o mv não funciona também. Então, o que devo fazer?

Outras coisas que eu tentei:

root@host [/home1]# cp -rf hello /home3
cp: overwrite '/home3/hello/.buildpath'? y
cp: overwrite '/home3/hello/.bash_logout'? y
cp: overwrite '/home3/hello/.project'? ^C
root@host [/home1]# cp -force hello /home3
cp: invalid option -- 'o'
Try 'cp --help' for more information.
root@host [/home1]# cp --remove-destination hello /home4
cp: omitting directory 'hello'
root@host [/home1]# cp --remove-destination hello /home3
cp: omitting directory 'hello'
root@host [/home1]# cp --remove-destination -r hello /home3
cp: overwrite '/home3/hello/.buildpath'? ^C
root@host [/home1]#
    
por user4951 18.07.2013 / 15:00

6 respostas

12

cp parece estar com um alias para algo que está causando problemas ou é uma função. Você pode remover o alias / função:

unalias cp
unset -f cp

Se você preferir apenas substituí-lo agora, use o comando command para substituir quaisquer definições de alias / funções:

command cp [...]

Se você preferir remover totalmente isso, provavelmente precisará procurar nos arquivos de inicialização do bash.

    
por 18.07.2013 / 15:14
5

Para sobrescrever a força sem pedir que você use o comando mv e a opção "-f", use man para ver as opções.

man mv:

   -f, --force
          do not prompt before overwriting

Exemplo:

mv -f test.tmp test.txt
    
por 10.01.2017 / 13:25
1

Tente cp -rv / sourcefileordirectory / Destinationfolder

    
por 19.07.2013 / 05:46
1

Você provavelmente tem um alias para o cp. Você pode substituir esse alias fazendo:

\cp -f hello /home3

Isso tem a vantagem de não modificar sua configuração de aliases, já que ela está substituindo apenas por essa chamada.

    
por 10.08.2017 / 13:30
0

apenas execute alias cp=cp e sobrescreverá o alvo sem perguntar nesta sessão. Se você quiser armazená-lo como comportamento padrão, armazene-o em ~/.bashrc .

    
por 18.07.2013 / 15:09
-1

Você pode usar yes , que é projetado para esse tipo de coisa. Ele imprimirá automaticamente y e responderá a esses prompts:

yes | cp -f hello /home3
    
por 19.09.2014 / 01:42

Tags