¿Copiar archivos existentes sin confirmación?

18

Necesito copiar y sobrescribir una gran cantidad de archivos, he usado el siguiente comando:

# cp -Rf * ../

Pero luego, cuando existe un archivo con el mismo nombre en la carpeta de destino, recibo esta pregunta:

cp: overwrite `../ibdata1'? 

El problema es que tengo unos 200 archivos que se sobrescribirán y no creo que presionar Y then Enter200 veces sea la forma correcta de hacerlo.

Entonces, ¿cuál es el camino correcto para eso?

Itai Ganot
fuente

Respuestas:

38

Puede hacerlo yes | cp -rf myxx, o si lo hace como root: su .bashrc o .profile tiene un alias de cp a cp -i, la mayoría de los sistemas modernos lo hacen para rootear perfiles.

Puede omitir temporalmente un alias y usar la versión sin alias de un comando con el prefijo \, por ejemplo, \ cp lo que sea

TBI Infotech
fuente
44
+1 para señalar cómo omitir un alias. Tentado a -1 para la solución de fuerza bruta.
Hennes
55
+! para la yesfunción de tubería, ¡muy útil!
Andrew Newby
14

¿Te das cuenta de que RHEL y CentOS han tratado de proteger a los usuarios novatos configurando alias para el usuario raíz para evitar sobrescribir y eliminar archivos accidentalmente?

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

El -icambio es lo que requiere confirmación al modificar o eliminar archivos existentes. Debido a que la expansión de alias ocurre antes de la ejecución del comando, incluso el uso del --force -f interruptor aún requerirá confirmación.

Puede eliminar el alias de forma permanente editando el /root/.bashrcarchivo, eliminar el alias durante la duración de una sesión con unalias cp o para un solo comando use uno de:

  • usa la ruta completa /bin/cp
  • usar comillas "cp"o 'cp'alrededor del comando
  • use la palabra clave de comando, por ejemplo command cp
  • escapar del comando \cp
HBruijn
fuente