Bruk ditto for å kopiere filer & kataloger intelligent fra Mac-terminalen
Innholdsfortegnelse:
De fleste langvarige kommandolinjebrukere er avhengige av cp-kommandoen for å kopiere filer og kataloger, men Mac OS X tilbyr en annen løsning med 'ditto'-kommandoen. Ditto er litt mer avansert, men kan være fordelaktig for "cp" av flere grunner, siden det ikke bare bevarer eierskapsattributter og tillatelser, men også filressursgafler og fil- og mappemetadata, noe som i hovedsak sikrer at filen og/eller mappene kopieres nøyaktig .
I tillegg kan ditto brukes til å kopiere en fil eller mappe til en kildekatalog, men hvis den kilden ikke eksisterer ennå, vil ditto automatisk opprette den. Hvis målmappen eksisterer, vil det kopierte innholdet bli slått sammen i den målkatalogen. Til slutt følger ditto også symbolske lenker, noe som gjør det spesielt nyttig hvis du er en stor bruker av ln-kommandoen.
For bedre å forstå ditto-kommandoen, la oss gå gjennom noen eksempler med ekte syntaks.
Using Ditto for å kopiere filer/mapper
I sin enkleste form fungerer ditto omtrent som cp-kommandoen, med grunnleggende syntaks som følger:
dittil kildemål
For eksempel, hvis du ønsker å kopiere ~/Desktop/FluffyBackups til /Volumes/FluffyBackups/, skriver du bare inn følgende:
ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/
Igjen, dette vil beholde alle eierskaps- og ressursmetadatadetaljer for filene som er kopiert, noe som kan være spesielt viktig hvis du kopierer filer fra en brukerkatalog til en annen, eller hvis du vil bevare noe sånt som endringstider for filer.
Hvis du er usikker på kilde- og destinasjonsinnholdet, kan du alltid sammenligne de to med comm-kommandoen eller diff-kommandoen før du fortsetter med ditto-kommandoen.
Using Ditto for å slå sammen kataloger og mappeinnhold
Husk, ditto vil sjekke om destinasjonen allerede eksisterer, og hvis den gjør det, vil den slå sammen katalogene til kilden til destinasjonen. Dette er viktig og ekstremt nyttig, noe som gjør det til en av de enkleste måtene å slå sammen katalogene fra kommandolinjen i Mac OS X (selv om det er enkelt nå i Finder også).
ditto ~/Bilder/Høst2015/ /Volumes/PhotoBackup/2015/
Dette vil ta alle bilder fra «Høst2015» og kopiere dem til den eksisterende katalogen «2015», og effektivt slå sammen innholdet fra kilden til destinasjonen. Igjen oppstår fletteatferden når destinasjonen allerede eksisterer, hvis destinasjonen ikke eksisterer, vil den bli opprettet som spesifisert, eller som kildenavnet.
Hvis du bruker ditto til å kopiere data fra kataloger med symbolske lenker, er det verdifullt å bruke flagget -V (verbose all) fordi det vil vise alle filer og symbolske lenker som har blitt kopiert. Merk -V er annerledes enn -v, som bare viser filer som utdata, og ikke symbolske lenker.
Kopier uten metadata ved å bruke dito
Hvis du av en eller annen grunn ikke vil kopiere metadata og ressursgafler, kan du bruke –norsrc-flagget slik:
ditto -V --norsrc ~/Sample/Mappe /Volumes/NoMetadataBackups
Bruk av –norsrc-flagget slår på en måte en primær fordel av ditto, men det kan være nyttig i noen tilfeller.
Du kan lære mye mer om den utmerkede ditto-kommandoen ved å lese manualsiden, tilgjengelig i Mac OS X ved å skrive:
mann ditto
Som vanlig, bruk piltastene for å navigere opp og ned på manualsiden.
Før du stoler på ditto sterkt, sørg for å prøve det ut noen ganger med ubetydelige filflyttinger og katalogsammenslåinger for å forstå hvordan det fungerer med din planlagte bruk.