5 votes

Quelle commande shell clonera un répertoire au lieu d'en faire une copie profonde ?

Je souhaite prendre un instantané de clone APFS d'un grand répertoire en utilisant un shell script. Dans le Finder, je peux simplement Cmd-C, me déplacer vers l'autre dossier, et Cmd-V et en quelques secondes, j'ai un duplicata qui prend peu d'espace disque supplémentaire. En utilisant la commande shell cp, cela prend des heures et crée une copie qui prend de l'espace disque. Quelle commande shell permet de dupliquer un dossier "instantanément" comme le fait le Finder ?

0 votes

pax créera une structure de répertoires, puis reliera les fichiers à l'intérieur de cette structure. À condition que le répertoire cloné se trouve sur le même système de fichiers. Je ne suis pas sûr de la vitesse.

0 votes

Vous pouvez consulter la commande 'ditto'. Je ne suis pas sûr qu'elle soit plus rapide que cp.

5voto

user314700 Points 66

La commande cp prend maintenant l'option -c pour créer des clones de fichiers en copie et en écriture.

Depuis le fichier de manuel cp :

-c    copy files using clonefile(2) 

Par exemple : cp -c my-file my-file-clone

0 votes

Avez-vous essayé de voir si cela fonctionne également en combinaison avec -r ?

1 votes

@nohillside BSD's cp ne prend en charge que les majuscules -R et non les deux, comme les coreutils de GNU cp utilitaire. Pour répondre à la question, oui, vous pouvez émettre des /bin/cp -cR o /bin/cp -ac .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X