Gebruik dito om bestanden en mappen intelligent te kopiëren vanaf de Mac Terminal

De meeste oude opdrachtregelgebruikers vertrouwen op de cp-opdracht om bestanden en mappen te kopiëren, maar Mac OS X biedt een andere oplossing met de opdracht 'ditto'. Ditto is iets geavanceerder, maar kan om verschillende redenen voordelig zijn omdat het niet alleen eigendomskenmerken en machtigingen behoudt, maar ook resourceforks en bestands- en mapmetadata bewaart, wat er in feite voor zorgt dat het bestand en / of de mappen exact worden gekopieerd. Bovendien kan dito worden gebruikt om een ​​bestand of map naar een bronmap te kopiëren, maar als die bron nog niet bestaat, wordt dit dit automatisch gemaakt. Als de doelmap ook bestaat, wordt de gekopieerde inhoud samengevoegd in die bestemmingsdirectory. Ten slotte volgt dito ook symbolische koppelingen, wat het bijzonder handig maakt als je een zware gebruiker van het ln-commando bent.

Voor een beter begrip van de opdracht ditto, laten we een paar voorbeelden doornemen met een echte syntaxis.

Ditto gebruiken om bestanden / mappen te kopiëren

In de meest eenvoudige vorm werkt dito heel erg zoals de cp-opdracht, met de basissyntaxis als volgt:

ditto source destination

Als u bijvoorbeeld ~ / Desktop / FluffyBackups naar / Volumes / FluffyBackups wilt kopiëren, typt u het volgende:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Nogmaals, dit behoudt alle eigendoms- en bronmetadatadetails van de gekopieerde bestanden, wat met name van belang kan zijn als u bestanden van de ene gebruikersdirectory naar de andere kopieert, of als u iets als modificatietijden van bestanden wilt behouden.

Als u niet zeker bent over de inhoud van de bron en de bestemming, kunt u altijd de twee vergelijken met de comm-opdracht of de opdracht diff voordat u verder gaat met de opdracht ditto.

Ditto gebruiken om mappen en mapinhoud samen te voegen

Onthoud dat dito zal controleren om te zien of de bestemming al bestaat, en als dit het geval is, zal het de mappen van de bron samenvoegen met de bestemming. Dit is belangrijk en uiterst nuttig, waardoor het een van de gemakkelijkste manieren is om de mappen samen te voegen vanaf de opdrachtregel in OS X (hoewel het nu ook gemakkelijk in de Finder is).

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

Hiermee worden alle foto's uit "Fall2015" gemaakt en naar de reeds bestaande map "2015" gekopieerd, waardoor de inhoud effectief wordt samengevoegd van de bron naar de bestemming. Nogmaals, het samenvoeggedrag treedt op wanneer de bestemming al bestaat, als de bestemming niet bestaat, zou deze worden gemaakt zoals opgegeven, of als de bronnaam.

Als u dito gebruikt om gegevens uit mappen met symbolische koppelingen te kopiëren, is het gebruik van de vlag -V (uitgebreid allemaal) waardevol omdat alle bestanden en symbolische koppelingen die zijn gekopieerd worden weergegeven. Opmerking: -V is anders dan -v, waarbij alleen bestanden worden weergegeven als uitvoer en geen symbolische koppelingen.

Kopiëren zonder metadata met behulp van idem

Als u om wat voor reden dan ook geen metadata en resourcevorks wilt kopiëren, gebruikt u de vlag -norsrc als volgt:

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

Het gebruik van de -norsrc vlag verslaat een belangrijk voordeel van dito, maar kan in sommige gevallen nuttig zijn.

Je kunt veel meer leren over de uitstekende opdracht dito door de bijbehorende handleiding te lezen, toegankelijk in OS X door te typen:

man ditto

Gebruik zoals gewoonlijk de pijltjestoetsen om omhoog en omlaag te navigeren op de handleidingpagina.

Voordat je sterk op dito vertrouwt, moet je het een paar keer proberen met onbelangrijke bestandsverplaatsingen en directory-samenvoegingen om te begrijpen hoe het werkt met je geplande gebruik.