¿Cómo copiar o mover archivos sin que se les solicite sobrescribir?

8

Lo que probé:

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

Siempre me preguntan si quiero sobrescribir. Usar mv tampoco funciona. ¿Entonces qué debo hacer?

Otras cosas que probé:

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]#
user4951
fuente
2
¿Podría dar la salida de alias cp?
Raphael Ahrens
2
Además, type cpasí como ls -len uno de los archivos de destino puede proporcionar información útil.
un CVn
cp es copia. De acuerdo, puede ser un alias. Entonces, ¿cuál es el comando?
user4951

Respuestas:

13

cpparece estar alias a algo que está causando problemas, o es una función. Puede eliminar el alias / función:

unalias cp
unset -f cp

Si prefiere anularlo ahora, puede usar el commandcomando para anular cualquier alias / definición de función:

command cp [...]

Si prefiere eliminar esto por completo, es probable que tenga que buscar en los archivos de inicio de bash.

Chris Down
fuente
3
\cpTambién evitará el alias.
sendmoreinfo
Sí, tienes razón which cp => alias cp='cp -i; /bin/cp. Gracias amazon!
Gerry
8

Para forzar la sobrescritura sin preguntar, debe usar el comando mv y la opción "-f", use man para ver las opciones.

hombre mv:

   -f, --force
          do not prompt before overwriting

Ejemplo:

mv -f test.tmp test.txt
sinkmanu
fuente
1

Pruebe cp -rv / sourcefileordirectory / Destinationfolder

Rockhound
fuente
¿esto funcionara? ¿Qué significa -rv?
user4951
-rvsignifica recursivo y detallado. Entonces esto debería copiar los archivos y subcarpetas, y enviar el progreso al terminal.
JNat
1

Probablemente tenga un alias para cp. Puede anular este alias haciendo:

\cp -f hello /home3

Esto tiene la ventaja de no modificar la configuración de su alias, ya que lo anula solo para esta llamada.

niglesias
fuente
0

Puede usar yes, que está diseñado para este tipo de cosas. Imprimirá yy responderá automáticamente estas indicaciones por usted:

yes | cp -f hello /home3
Deji Kadri
fuente
0

simplemente ejecute alias cp=cpy sobrescribirá el objetivo sin preguntar en esta sesión. Si desea tenerlo almacenado como comportamiento estándar, guárdelo en su ~/.bashrc.

usuario2516278
fuente