Utilisez idem pour copier des fichiers & répertoires intelligemment à partir du terminal Mac

Table des matières:

Anonim

La plupart des utilisateurs de ligne de commande de longue date s'appuient sur la commande cp pour copier des fichiers et des répertoires, mais Mac OS X propose une autre solution avec la commande "idem". Ditto est légèrement plus avancé mais peut être avantageux pour « cp » pour plusieurs raisons, car il préserve non seulement les attributs et les autorisations de propriété, mais également les fourches de ressources de fichiers et les métadonnées de fichiers et de dossiers, garantissant essentiellement que le fichier et/ou les dossiers sont copiés exactement.

De plus, ditto peut être utilisé pour copier un fichier ou un dossier dans un répertoire source, mais si cette source n'existe pas encore, ditto le créera automatiquement. De plus, si le dossier de destination existe, le contenu copié sera fusionné dans ce répertoire de destination. Enfin, idem suit également les liens symboliques, ce qui le rend particulièrement pratique si vous êtes un gros utilisateur de la commande ln.

Pour mieux comprendre la commande ditto, passons en revue quelques exemples avec une vraie syntaxe.

Utiliser Ditto pour copier des fichiers/dossiers

Dans sa forme la plus simple, ditto fonctionne un peu comme la commande cp, avec une syntaxe de base comme suit :

idem source destination

Par exemple, si vous vouliez copier ~/Desktop/FluffyBackups vers /Volumes/FluffyBackups/, il vous suffirait de taper ce qui suit :

idem ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Encore une fois, cela conservera tous les détails de propriété et de métadonnées des ressources des fichiers copiés, ce qui peut être particulièrement important si vous copiez des fichiers d'un répertoire utilisateur à un autre, ou si vous souhaitez conserver quelque chose comme heures de modification des fichiers.

Si vous n'êtes pas sûr du contenu de la source et de la destination, vous pouvez toujours comparer les deux avec la commande comm ou la commande diff avant de procéder avec la commande ditto.

Utilisation de Ditto pour fusionner les répertoires et le contenu des dossiers

N'oubliez pas, idem vérifiera si la destination existe déjà, et si c'est le cas, il fusionnera les répertoires de la source vers la destination. Ceci est important et extrêmement utile, ce qui en fait l'un des moyens les plus simples de fusionner les répertoires à partir de la ligne de commande sous Mac OS X (bien que ce soit également facile maintenant dans le Finder).

idem ~/Pictures/Fall2015/ /Volumes/PhotoBackup/2015/

Cela prendrait toutes les photos de "Fall2015" et les copierait dans le répertoire préexistant "2015", fusionnant efficacement le contenu de la source à la destination. Encore une fois, le comportement de fusion se produit lorsque la destination existe déjà, si la destination n'existe pas, elle sera créée comme spécifié, ou comme le nom de la source.

Si vous utilisez idem pour copier des données à partir de répertoires avec des liens symboliques, l'utilisation de l'indicateur -V (verbose all) est utile car il affichera tous les fichiers et liens symboliques qui ont été copiés. Remarque -V est différent de -v, qui n'affichera que les fichiers en sortie, et non les liens symboliques.

Copier sans métadonnées à l'aide de Ditto

Si, pour une raison quelconque, vous ne souhaitez pas copier les métadonnées et les fourchettes de ressources, vous pouvez utiliser le drapeau –norsrc comme ceci :

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

L'utilisation de l'indicateur –norsrc annule l'un des principaux avantages de idem, mais cela peut être utile dans certains cas.

Vous pouvez en apprendre beaucoup plus sur l'excellente commande ditto en lisant sa page de manuel, accessible sous Mac OS X en tapant :

man idem

Comme d'habitude, utilisez les touches fléchées pour naviguer de haut en bas dans la page de manuel.

Avant de compter sur idem, assurez-vous de l'essayer plusieurs fois avec des déplacements de fichiers et des fusions de répertoires sans conséquence pour comprendre comment cela fonctionne avec votre utilisation prévue.

Utilisez idem pour copier des fichiers & répertoires intelligemment à partir du terminal Mac