Brug dito til at kopiere filer og mapper intelligent fra Mac Terminal

De fleste langvarige kommandolinjebrugere er afhængige af cp-kommandoen for at kopiere filer og mapper, men Mac OS X tilbyder en anden løsning med kommandoen 'ditto'. Ditto er lidt mere avanceret, men kan være en fordel at 'cp' af flere grunde, da det ikke kun bevarer ejerskabsfunktioner og tilladelser, men også filressourcegafler og fil- og mappemetadata, hvilket i det væsentlige sikrer, at filen og / eller mapperne kopieres nøjagtigt . Derudover kan ditto bruges til at kopiere en fil eller mappe til en kildemappe, men hvis den kilde endnu ikke eksisterer, oprettes dito automatisk. Hvis destinationsmappen også eksisterer, samles de kopierede indhold sammen i den pågældende destinationsmappe. Endelig følger ditto også symbolske links, hvilket gør det særligt praktisk, hvis du er en tung bruger af ln-kommandoen.

For bedre at forstå kommandoen dino, lad os gennemgå et par eksempler med ægte syntaks.

Brug af Ditto til at kopiere filer / mapper

På den mest enkle form fungerer ditto meget ligesom cp-kommandoen, med grundlæggende syntaks som følger:

ditto source destination

For eksempel, hvis du ønskede at kopiere ~ / Desktop / FluffyBackups til / Volumes / FluffyBackups / du ville bare skrive følgende:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Igen beholder dette alle ejerskabs- og ressourcemetadataoplysninger om de kopierede filer, hvilket kan være særligt vigtigt, hvis du kopierer filer fra en brugerkatalog til en anden, eller hvis du vil bevare noget som ændringstider for filer.

Hvis du er usikker på kilde- og destinationsindholdet, kan du altid sammenligne de to med komm-kommandoen eller diff-kommandoen, før du fortsætter med kommandoen dino.

Brug af Ditto til at flette kataloger og mappeindhold

Husk, dito vil tjekke for at se om destinationen allerede eksisterer, og hvis den gør det, vil den fusionere kildenes kilder til destinationen. Dette er vigtigt og yderst nyttigt, hvilket gør det til en af ​​de nemmeste måder at fusionere katalogerne fra kommandolinjen i OS X (selvom det er nemt nu også i Finder).

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

Dette ville tage alle billeder fra "Fall2015" og kopiere dem til den eksisterende mappe "2015", effektivt fusionere indholdet fra kilden til destinationen. Igen opstår fusionsadfærd, når destinationen allerede eksisterer, hvis destinationen ikke eksisterer, vil den blive oprettet som angivet, eller som kildenavnet.

Hvis du bruger ditto til at kopiere data fra mapper med symbolske links, bruger v-v (verbose all) flag er værdifuldt, fordi det vil vise alle filer og symbolske link, der er blevet kopieret. Bemærk -V er forskellig fra -v, som kun viser filer som output, og ikke symbolske links.

Kopier uden metadata ved hjælp af Ditto

Hvis du af en eller anden grund ikke vil kopiere metadata og ressourcegafler, så brug en -norsrc-flag som sådan:

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

Brug af -norsrc flag slags besejre en primær fordel for dito, men det kan være nyttigt for nogle tilfælde.

Du kan lære meget mere om den fremragende dino-kommando ved at læse sin manuelle side, der er tilgængelig i OS X ved at skrive:

man ditto

Brug sædvanligvis piletasterne til at navigere op og ned i den manuelle side.

Før du stoler på dito stærkt, skal du sørge for at prøve det ud et par gange med uoverensstemmende filbevægelser og katalogfusioner for at forstå, hvordan det virker med din planlagte brug.