¿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]#

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.


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

1

Pruebe cp -rv / sourcefileordirectory / Destinationfolder


¿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.


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

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.