OSX/IOS

Usa idem per copiare in modo intelligente file e directory dal tuo terminale Mac

Stesso ordine

La maggior parte degli utenti della riga di comando di lunga data si affida al comando cp per copiare file e directory, ma Mac OS X offre un’altra soluzione con il comando “idem”. Ditto è un po’ più avanzato, ma può essere vantaggioso per “cp” per diversi motivi, poiché non solo preserva gli attributi di proprietà e le autorizzazioni, ma anche i fork delle risorse dei file e i metadati di file e cartelle, assicurando essenzialmente che il file e/o le cartelle siano copiato. esatto.

Inoltre, idem può essere utilizzato per copiare un file o una cartella in una directory di origine, ma se tale origine non esiste ancora, idem lo creerà automaticamente. Inoltre, se la cartella di destinazione esiste, il contenuto copiato verrà unito in quella directory di destinazione. Infine, idem segue anche collegamenti simbolici, il che lo rende particolarmente utile se sei un utente assiduo del comando ln.

Per comprendere meglio il comando ditto, esaminiamo alcuni esempi con la sintassi reale.

Utilizzo di Ditto per copiare file/cartelle

Nella sua forma più semplice, ditto funziona proprio come il comando cp, con la sintassi di base come segue:

ditto source destination

Ad esempio, se desideri copiare ~/Desktop/FluffyBackups in /Volumes/FluffyBackups/, digita quanto segue:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Ancora una volta, questo conserverà tutti i dettagli di proprietà e i metadati delle risorse dei file copiati, che possono essere particolarmente importanti se stai copiando file da una directory utente a un’altra o se vuoi mantenere qualcosa come i tempi di modifica dei file.

Se non sei sicuro dei contenuti di origine e destinazione, puoi sempre confrontare i due con il comando comm o il comando diff prima di procedere con il comando ditto.

Utilizzo di Ditto per unire directory e contenuto di cartelle

Ricorda, idem verificherà se la destinazione esiste già e, in tal caso, unirà le directory di origine con la destinazione. Questo è importante ed estremamente utile, rendendolo uno dei modi più semplici per unire le directory dalla riga di comando in Mac OS X (sebbene ora sia facile anche nel Finder).

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

Questo prenderebbe tutte le foto da “Fall2015” e le copierebbe nella directory “2015” preesistente, unendo efficacemente il contenuto dalla sorgente alla destinazione. Anche in questo caso il comportamento di unione si verifica quando la destinazione esiste già, se la destinazione non esiste verrà creata come specificato o come nome di origine.

Se usi idem per copiare dati da directory con collegamenti simbolici, l’uso del flag -V (verbose all) è prezioso perché elencherà ogni file e collegamento simbolico che è stato copiato. Nota -V è diverso da -v, che mostrerà solo i file come output, non collegamenti simbolici.

Copia senza metadati usando Ditto

Se per qualche motivo non vuoi copiare i metadati e i fork delle risorse, puoi usare flag-norsrc in questo modo:

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

L’uso del flag –norsrc vanifica uno dei vantaggi principali di ditto, ma può essere utile in alcuni casi.

Puoi imparare molto di più sull’eccellente comando ditto leggendo la sua pagina man, accessibile in Mac OS X digitando:

man ditto

La pagina man ditto spiega come usarlo per copiare file e directory in modo avanzato

Come al solito, usa i tasti freccia per navigare su e giù nella pagina di manuale.

Prima di fare molto affidamento su idem, assicurati di provarlo alcune volte con banali spostamenti di file e fusioni di directory per capire come funziona con l’uso previsto.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close