Mit welchem ​​Shell-Befehl wird ein Verzeichnis geklont, anstatt eine tiefe Kopie zu erstellen?


4

Ich möchte einen APFS-Klon-Snapshot eines großen Verzeichnisses mithilfe eines Shell-Skripts erstellen. Im Finder kann ich nur Cmd-C, in den anderen Ordner und Cmd-V verschieben und innerhalb weniger Sekunden habe ich ein Duplikat, das wenig zusätzlichen Speicherplatz benötigt. Bei Verwendung des Befehls cp shell dauert es einige Zeit und erstellt eine Kopie, die Speicherplatz beansprucht. Welcher Shell-Befehl kann einen Ordner "sofort" duplizieren, so wie es Finder kann?


paxerstellt eine Verzeichnisstruktur und verknüpft dann Dateien innerhalb der Verzeichnisstruktur. Dies ist der Fall, wenn sich das geklonte Verzeichnis im selben Dateisystem befindet. Bei der Geschwindigkeit bin ich mir nicht sicher.
fd0

Vielleicht möchten Sie sich den Befehl 'ditto' ansehen. Ich bin mir nicht sicher, ob es schneller ist als CP.
17.

Antworten:


3

Der Befehl cp bietet jetzt die Möglichkeit -c, beim Schreiben von Klonen von Dateien eine Kopie zu erstellen.

Aus der cp man-Datei:

-c    copy files using clonefile(2) 

Zum Beispiel: cp -c my-file my-file-clone


Hast du probiert, ob das auch kombiniert mit funktioniert -r?
Nohillside

Das BSD- cpDienstprogramm von @nohillside unterstützt nur Großbuchstaben -R, nicht beide, wie das cpDienstprogramm coreutils von GNU . Um die Frage zu beantworten, können Sie ja /bin/cp -cRoder ausgeben /bin/cp -ac.
Danemacmillan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.