Kurze Antwort
Verwenden der Befehlszeile (Terminal):
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
Der obige Befehl fügt den src
Inhalt und die Unterverzeichnisse dem hinzu, destination
ohne den Inhalt zu überschreiben, der bereits in der Datei vorhanden ist destination
.
Lange Antwort
Auch wenn sich der Inhalt überschneidet, können Sie dies dennoch cp
tun. Angenommen, Sie zwei Ordner auf Ihrem Desktop haben: die src
und die destination
Ordner und Sie wollen fusionieren src
in destination
:
Zum Zusammenführen einfach Folgendes tun:
cp -r ~/Desktop/src/* ~/Desktop/destination/
HINWEIS Wenn Sie dies verwenden, src
überschreibt der Inhalt in den destination
Ordner und fügt die zusätzlichen Elemente hinzu, die in der fehlen destination
. Es sollte keine Rolle spielen, wenn Sie nur die fehlenden Dateien von src
in hinzufügen möchten destination
.
AUCH es ist egal, wie viele Unterverzeichnisse es gibt, es durchläuft einfach jeden Ordner rekursiv und überschreibt den Inhalt und fügt das Zeug hinzu, das im destination
Ordner fehlt .
ABER
PITFALL Wenn Sie große Dateien haben (wie z. B. Videodateien), möchten Sie nicht warten, bis alles überschrieben ist. Dies erhöht den Overhead erheblich .
PITFALL-LÖSUNG : Stattdessen können Sie die Markierung verwenden -n
, um das Überschreiben zu überspringen:
cp -r -n ~/Desktop/src/* ~/Desktop/destination/
Dies ist die Beschreibung des -n
Flags auf der Manpage:
man cp
-n Do not overwrite an existing file. (The -n option overrides any
previous -f or -i options.)
Weitere Lektüre
- /programming/5088332/overhead-of-a-flag-in-cp-command