Použijte rsync . Bude synchronizovat adresáře v jednom směru. Pokud tedy chcete aktualizovat old složka se vším z new , ale ponechte si to, co tam je, použijte:
rsync -avh --dry-run /path/to/new/ /path/to/old/
Tím se v první instanci pouze vypíše seznam souborů, které budou přeneseny. V tom případě:Vše, co se nachází v new bude zkopírován do old , pokud už tam není. Vše v old zůstane tak, jak je.
Pokud se vám to zdá v pořádku, odstraňte --dry-run argument pro jejich skutečné předání.
-avh příznaky pouze povolí režim archivace (který zachová časová razítka atd.), výřečnost a velikosti souborů čitelné pro člověka. Z cíle nebude nic odstraněno, pokud nezadáte --delete vlajka. Podívejte se na man rsync pro více informací.
rsync by zde pravděpodobně byla lepší volba. Je to stejně jednoduché jako rsync -a subdir/ ./. lepší řešení najdete v této odpovědi unix.stackexchage
použijte -f s cp příkaz
cp -fR /source/files /dest
potlačit cp to přepsat" výzvu..
Chcete-li přepsat alias cp, můžete jej jednoduše uzavřít do uvozovek:
'cp' -rf ./source/* /destination/
pro více informací navštivte tyto odkazy:
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