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