Utilisez rsync . Il synchronisera les répertoires dans une direction. Donc, si vous souhaitez mettre à jour votre old dossier avec tout depuis new , mais gardez ce qu'il y a dedans, utilisez simplement :
rsync -avh --dry-run /path/to/new/ /path/to/old/
Cela va, dans un premier temps, juste sortir la liste des fichiers qui seraient transférés. Dans ce cas :Tout ce qui se trouve dans new sera copié dans old , à moins qu'il ne soit déjà là. Tout en old reste tel quel.
Si cela vous semble correct, supprimez le --dry-run argument pour les transmettre pour de vrai.
Le -avh les drapeaux activent simplement le mode archive (qui préservera les horodatages, etc.), la verbosité et les tailles de fichier lisibles par l'homme. Rien ne sera supprimé de la destination sauf si vous spécifiez le --delete drapeau. Consulter man rsync pour plus d'informations.
rsync serait probablement une meilleure option ici. C'est aussi simple que rsync -a subdir/ ./.check this unix.stackexchage answer for better solutions
utilisez -f avec le cp commande
cp -fR /source/files /dest
supprimer cp pour écraser" l'invite..
Pour remplacer l'alias de cp, vous pouvez simplement le placer entre guillemets :
'cp' -rf ./source/* /destination/
pour plus d'informations, suivez ces liens :
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