Verwenden Sie dito, um Dateien und Verzeichnisse intelligent vom Mac-Terminal zu kopieren

Die meisten langjährigen Kommandozeilenbenutzer verlassen sich auf den Befehl cp, um Dateien und Verzeichnisse zu kopieren, aber Mac OS X bietet eine andere Lösung mit dem Befehl 'ditto'. Dito ist etwas fortgeschrittener, kann aber aus verschiedenen Gründen "cp" sein, da es nicht nur Besitzattribute und Berechtigungen, sondern auch Datei-Ressourcenzweige und Datei- und Ordner-Metadaten bewahrt und im Wesentlichen sicherstellt, dass die Datei und / oder Ordner genau kopiert werden. Darüber hinaus kann ditto verwendet werden, um eine Datei oder einen Ordner in ein Quellverzeichnis zu kopieren, aber wenn diese Quelle noch nicht existiert, erstellt ditto diese automatisch. Wenn der Zielordner vorhanden ist, werden die kopierten Inhalte außerdem in diesem Zielverzeichnis zusammengeführt. Schließlich folgt ditto auch symbolischen Links, was es besonders praktisch macht, wenn Sie ein großer Benutzer des Befehls ln sind.

Um den ditto-Befehl besser zu verstehen, lassen Sie uns ein paar Beispiele mit echter Syntax durchgehen.

Verwenden von Ditto zum Kopieren von Dateien / Ordnern

In seiner einfachsten Form funktioniert dito ähnlich wie der Befehl cp, mit folgender grundlegender Syntax:

ditto source destination

Wenn Sie zum Beispiel ~ / Desktop / FluffyBackups nach / Volumes / FluffyBackups / kopieren möchten, geben Sie einfach Folgendes ein:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Auch hier werden alle Besitz- und Ressourcemetadaten der kopierten Dateien beibehalten, was besonders wichtig sein kann, wenn Sie Dateien von einem Benutzerverzeichnis in ein anderes kopieren oder wenn Sie Änderungszeiten von Dateien beibehalten möchten.

Wenn Sie sich über den Quell- und Zielinhalt nicht im Klaren sind, können Sie die beiden immer mit dem Befehl comm oder dem Befehl diff vergleichen, bevor Sie mit dem Befehl ditto fortfahren.

Verwenden von Ditto zum Zusammenführen von Verzeichnissen und Ordnerinhalten

Denken Sie daran, dass dito überprüft, ob das Ziel bereits existiert, und wenn dies der Fall ist, werden die Verzeichnisse der Quelle mit dem Ziel zusammengeführt. Dies ist wichtig und äußerst nützlich und macht es zu einer der einfachsten Möglichkeiten, die Verzeichnisse über die Befehlszeile in OS X zusammenzuführen (obwohl es jetzt auch im Finder einfach ist).

ditto ~/Pictures/Fall2015/ /Volumes/PhotoBackup/2015/

Dies würde alle Bilder von "Fall2015" aufnehmen und sie in das bereits existierende Verzeichnis "2015" kopieren, wodurch die Inhalte effektiv von der Quelle zu dem Ziel zusammengeführt werden. Das Zusammenführungsverhalten tritt erneut auf, wenn das Ziel bereits existiert, wenn das Ziel nicht existiert, würde es wie angegeben erstellt werden oder als der Quellenname.

Wenn Sie dito verwenden, um Daten aus Verzeichnissen mit symbolischen Links zu kopieren, ist die Verwendung des Flags -V (verbose all) hilfreich, da alle Dateien und symbolischen Verknüpfungen angezeigt werden, die kopiert wurden. Hinweis -V unterscheidet sich von -v, wodurch Dateien nur als Ausgabe und nicht als symbolische Links angezeigt werden.

Ohne Metadaten kopieren Mit Ditto

Wenn Sie Metadaten und Ressourcenzweige aus irgendeinem Grund nicht kopieren möchten, verwenden Sie das Flag -norsrc wie folgt:

ditto -V --norsrc ~/Sample/Folder /Volumes/NoMetadataBackups

Die Verwendung der Option -norsrc weist einen primären Vorteil von dito auf, kann jedoch in einigen Fällen nützlich sein.

Sie können viel mehr über den ausgezeichneten dito-Befehl erfahren, indem Sie die Manual Page lesen, auf die Sie in OS X zugreifen können, indem Sie Folgendes eingeben:

man ditto

Verwenden Sie wie gewohnt die Pfeiltasten, um in der Manpage nach oben und unten zu navigieren.

Bevor Sie sich stark auf ditto verlassen, sollten Sie es einige Male mit unwichtigen Dateiverschiebungen und Verzeichniszusammenführungen ausprobieren, um zu verstehen, wie es mit Ihrer geplanten Verwendung funktioniert.