Rekurzivno ustvarite ugnezdeno strukturo imenika & Vse podmape z enim samim ukazom

Anonim

Ustvarjanje niza ugnezdenih imenikov enega v drugem je mogoče storiti takoj prek ukazne vrstice. To omogoča zelo preprosto takojšnje in rekurzivno ustvarjanje zapletene strukture imenikov map znotraj podmap podmap, ne da bi se morali ročno pomikati v vsak imenik, da ustvarite nov imenik, nato pa se znova pomakniti v ta podimenik, da ustvarite še en imenik, in tako naprej .Namesto tega bo trik z ukazno vrstico v enem zamahu ustvaril celotno pot vmesnega imenika.

Gradnja ugnezdene strukture imenika na preprost način zahteva uporabo znanega ukaza mkdir, ki se redno uporablja za ustvarjanje ene same nove mape, vendar s prilogo zastavice -p za podajanje celotne poti ustvariti. Če želite to preizkusiti sami, zaženite aplikacijo Terminal, kot jo najdete v mapi /Applications/Utilities/, in sledite navodilom, da vidite, kako z mkdir -p zgraditi vrsto imenikov v eni ukazni vrstici z uporabo določene poti.

Rekurzivno ustvarjanje strukture imenika z navedbo poti

V najbolj preprosti obliki samo določite pot do mkdir:

mkdir -p /path/to/make/

Zastavica -p zagotavlja, da so vse podmape narejene rekurzivno in na ustreznem mestu.

Na primer, recimo, da je pot ugnezdenega imenika, ki jo želimo ustvariti, »/Create/These/Folders/Within/Each/Other/« in nobena od teh map ali podmap trenutno ne obstaja. Če želite takoj narediti vse, preprosto uporabite naslednji ukazni niz:

mkdir -p ~/Create/These/Folders/Within/Each/Other/

S tem bo mapa »Create« postala nadrejeni imenik, ki ji bo sledil celoten niz »/These/Folders/Within/Each/Other/« kot ustrezno ugnezdeni podrejeni imeniki.

Določite lahko tako dolgo pot, kot jo želite zgraditi, in takoj bo ustvaril nadrejeni in vse vmesne podrejene imenike.

Preverjanje, ali so bili imenik in vse podmape ustvarjeni

Za hitro dvakratno preverjanje, ali so bili vsi imeniki zgrajeni in ali je vse delovalo, kot je bilo predvideno, z uporabo ukaza 'find' na naslednji način:

find (nadrejeni imenik) -type d -print

Če ponovno uporabimo zgornji primer, bi bil ukaz za iskanje takšen:

find ~/Create/ -type d -print

Izhod tega ukaza bi bil videti nekako takole, z rekurzivnim izpisom iz nadrejenega imenika v vse podrejene mape:

$ find ~/Create -type d -print /Create /Create/These /Create/These/Folders /Create/These/Folders/Winth /Create/These /Folders/Within/Each /Create/These/Folders/Within/Each/Other

Seveda se lahko obrnete tudi na Finder, da preverite, ali je bila zgrajena zapletena struktura map, ki si jo je morda najlažje ogledati v pogledu »Seznam« in nato z uporabo trikotnikov za rekurzivno odpiranje vsakega podimenika in pokaži njeno vsebino, ki je videti nekako takole:

(Upoštevajte, da so datoteke .DS_Store prikazane, ker so vidne vse skrite datoteke)

To je res uporaben nasvet, ki smo ga obravnavali pred časom kot del peščice uporabnih trikov ukazne vrstice, vendar je glede na priročnost vredno obravnavati samega.

In ja, uporaba terminala je daleč najhitrejši način za dosego tega, saj ni podobnega trika, ki bi bil značilen za Mac Finder, čeprav bi teoretično lahko avtomatizirali ustvarjanje ugnezdenih imenikov prek aplikacije Automator v OS X po želji. Kolikor je vredno, ukaz mkdir deluje enako v Mac OS X in Linuxu, tako da ga lahko po želji uporabljate na različnih platformah. Želite še nekaj trikov ukazne vrstice? Poskrbeli smo za vas.

Rekurzivno ustvarite ugnezdeno strukturo imenika & Vse podmape z enim samim ukazom