Usa rsync
. Sincronizará los directorios en una dirección. Entonces, si desea actualizar su old
carpeta con todo desde new
, pero mantén lo que hay allí, solo usa:
rsync -avh --dry-run /path/to/new/ /path/to/old/
Esto, en una primera instancia, solo generará la lista de archivos que se transferirán. En ese caso:Todo lo encontrado en new
se copiará en old
, a menos que ya esté allí. Todo en old
se queda como está.
Si te parece bien, quita el --dry-run
argumento para transmitirlos de verdad.
El -avh
las banderas solo habilitan el modo de archivo (que conservará las marcas de tiempo, etc.), la verbosidad y los tamaños de archivo legibles por humanos. No se eliminará nada del destino a menos que especifique el --delete
bandera. Consultar man rsync
para más información.
rsync probablemente sería una mejor opción aquí. Es tan simple como rsync -a subdir/ ./.verifique esta respuesta de unix.stackexchage para obtener mejores soluciones
usa -f
con el cp
comando
cp -fR /source/files /dest
suprimir cp para sobrescribir" mensaje..
Para anular el alias de cp, simplemente puede escribirlo entre comillas:
'cp' -rf ./source/* /destination/
para obtener más información, siga estos enlaces:
http://www.wallpaperama.com/forums/cp-command-problems-forcing-overwrite-using-cp-command-t5685.html
http://bytes.com/topic/unix/answers/865372-force-cp-overwrite-existing-directory