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