Na inteligentné kopírovanie súborov & adresárov z terminálu Mac použite dtto

Obsah:

Anonim

Väčšina dlhoročných používateľov príkazového riadka sa pri kopírovaní súborov a adresárov spolieha na príkaz cp, ale Mac OS X ponúka iné riešenie s príkazom „ditto“. Ditto je o niečo pokročilejšie, ale môže byť výhodné pre „cp“ z niekoľkých dôvodov, pretože zachováva nielen atribúty vlastníctva a povolenia, ale aj vetvy súborových prostriedkov a metadáta súborov a priečinkov, čím v podstate zaisťuje presné skopírovanie súboru a/alebo priečinkov.

Okrem toho je možné použiť na kopírovanie súboru alebo priečinka do zdrojového adresára, ale ak tento zdroj ešte neexistuje, automaticky ho vytvorí. Ak cieľový priečinok existuje, skopírovaný obsah sa zlúči do tohto cieľového priečinka. Napokon, to isté nasleduje aj po symbolických odkazoch, čo je obzvlášť užitočné, ak ste náročným používateľom príkazu ln.

Pre lepšie pochopenie príkazu ditto si prejdeme niekoľko príkladov so skutočnou syntaxou.

Používanie Ditto na kopírovanie súborov/priečinkov

V najjednoduchšej forme funguje podobne ako príkaz cp so základnou syntaxou takto:

to zdrojový cieľ

Napríklad, ak by ste chceli skopírovať ~/Desktop/FluffyBackups do /Volumes/FluffyBackups/, napísali by ste toto:

ditto ~/Desktop/FluffyBackups /Volumes/FluffyBackups/

Opäť sa zachovajú všetky podrobnosti o vlastníctve a zdrojoch metadát skopírovaných súborov, čo môže byť obzvlášť dôležité, ak kopírujete súbory z jedného používateľského adresára do druhého, alebo ak chcete zachovať niečo ako časy úprav súborov.

Ak si nie ste istí zdrojovým a cieľovým obsahom, vždy ich môžete porovnať s príkazom comm alebo príkazom diff predtým, ako budete pokračovať s príkazom ditto.

Použitie Ditto na zlúčenie adresárov a obsahu priečinkov

Pamätajte, že to isté skontroluje, či cieľ už existuje, a ak áno, zlúči adresáre zdroja s cieľom. Je to dôležité a mimoriadne užitočné, vďaka čomu je to jeden z najjednoduchších spôsobov zlúčenia adresárov z príkazového riadka v systéme Mac OS X (hoci je to teraz jednoduché aj vo Finderi).

ditto ~/Pictures/Jeseň2015/ /Volumes/PhotoBackup/2015/

Týmto sa zoberú všetky obrázky z „Jeseň 2015“ a skopírujú sa do už existujúceho adresára „2015“, čím sa obsah efektívne zlúči zo zdroja do cieľa. Opäť platí, že zlučovacie správanie nastane, keď cieľ už existuje, ak cieľ neexistuje, vytvorí sa podľa špecifikácie alebo ako názov zdroja.

Ak používate ditto na kopírovanie údajov z adresárov so symbolickými odkazmi, použitie príznaku -V (verbose all) je cenné, pretože zobrazí každý súbor a symbolický odkaz, ktorý bol skopírovaný. Poznámka -V sa líši od -v, ktoré zobrazí iba súbory ako výstup a nie symbolické odkazy.

Kopírovať bez metadát pomocou Ditto

Ak z nejakého dôvodu nechcete kopírovať metadáta a vetvy zdrojov, môžete použiť príznak –norsrc takto:

ditto -V --norsrc ~/Vzorka/Priečinok /Volumes/NoMetadataBackups

Použitie príznaku –norsrc poráža primárnu výhodu toho istého, ale v niektorých prípadoch môže byť užitočné.

Oveľa viac o vynikajúcom príkaze ditto sa môžete dozvedieť prečítaním jeho manuálovej stránky, ktorá je dostupná v Mac OS X zadaním:

muž to isté

Ako obvykle, na navigáciu nahor a nadol na stránke manuálu použite klávesy so šípkami.

Predtým, ako sa na to budete silne spoliehať, určite to niekoľkokrát vyskúšajte s nedôsledným presunom súborov a zlúčením adresárov, aby ste pochopili, ako to funguje pri plánovanom použití.

Na inteligentné kopírovanie súborov & adresárov z terminálu Mac použite dtto