Rekursīvi izveidojiet ligzdotu direktoriju struktūru & Visas apakšmapes ar vienu komandu

Anonim

Vienā citā ligzdotu direktoriju sēriju var izveidot uzreiz, izmantojot komandrindu. Tādējādi ir ļoti viegli nekavējoties un rekursīvi izveidot sarežģītu mapju direktoriju struktūru apakšmapju apakšmapēs, manuāli nepārvietojoties katrā direktorijā, lai izveidotu jaunu direktoriju, pēc tam vēlreiz pārejot uz šo apakšdirektoriju, lai izveidotu vēl vienu direktoriju utt. .Tā vietā, izmantojot komandrindas triku, vienā rāvienā tiks izveidots pilns starpdirektorijas ceļš.

Lai vienkāršā veidā izveidotu ligzdotu direktoriju struktūru, ir jāizmanto pazīstamā komanda mkdir, ko parasti izmanto, lai izveidotu vienu jaunu mapi, bet ar karoga -p pielikumu, lai norādītu pilnu ceļu. radīt. Ja vēlaties to izmēģināt pats, palaidiet lietotni Terminal, kā atrodama mapē /Applications/Utilities/, un sekojiet līdzi, lai redzētu, kā izmantot mkdir -p, lai izveidotu direktoriju sēriju vienā komandrindā, izmantojot noteiktu ceļu.

Rekursīva direktorija struktūras izveide, norādot ceļu

Visvienkāršākajā formā jūs vienkārši norādiet ceļu uz mkdir:

mkdir -p /path/to/make/

Karogs -p nodrošina, ka visas apakšmapes tiek veidotas rekursīvi un atbilstošā vietā.

Pieņemsim, ka ligzdotā direktorija ceļš, ko vēlamies izveidot, ir “/Create/These/Folders/Within/Each/Other/”, un neviena no šīm mapēm vai apakšmapēm pašlaik nepastāv. Lai uzreiz izveidotu tos visus, vienkārši izmantojiet šo komandu virkni:

mkdir -p ~/Izveidot/Šīs/Mapes/Iekšā/Katrā/Other/

Tādējādi mape “Izveidot” tiks padarīta par vecākdirektoriju, kam sekos visa “/These/Folders/Within/Each/Other/” sērija kā atbilstoši ligzdotie pakārtotie direktoriji.

Varat norādīt tik garu ceļu, kādu vēlaties izveidot, un tas uzreiz izveidos vecākdirektoriju un visus starpposma pakārtotos direktorijus.

Pārbaude, ka direktorijs un visas apakšmapes tika izveidotas

Lai ātri vēlreiz pārbaudītu, vai visi direktoriji ir izveidoti un vai viss darbojas, kā paredzēts, izmantojot komandu "atrast", piemēram:

find (vecākdirektorijs) - ierakstiet d -drukājiet

Atkārtoti izmantojot iepriekš minēto piemēru, meklēšanas komanda būtu šāda:

atrodiet ~/Izveidot/ -type d -print

Šīs komandas izvade izskatītos šādi, rekursīvi iekļaujot no vecākdirektorija uz visām pakārtotajām mapēm:

$ atrast ~/Izveidot -type d -print /Izveidot /Izveidot/Šīs /Izveidot/Šīs/Mapes /Izveidot/Šīs/Mapes/Iekšā /Izveidot/Šīs /Mapes/Iekšā/Katrā /Izveidot/Šīs/Mapes/Iekšā/Katrā/Other

Protams, varat arī vērsties pie Finder, lai pārbaudītu, vai ir izveidota sarežģīta mapju struktūra, ko, iespējams, visvieglāk var apskatīt no saraksta skata un pēc tam izmantojot trīsstūrus, lai rekursīvi atvērtu katru apakšdirektoriju un parādīt tā saturu, izskatoties šādi:

(Ņemiet vērā, ka .DS_Store faili tiek rādīti, jo ir redzami visi slēptie faili)

Šis ir patiešām noderīgs padoms, ko mēs aprakstījām kādu laiku atpakaļ, veicot dažus noderīgus komandrindas trikus, taču, ņemot vērā ērtības, to ir vērts izmantot atsevišķi.

Un jā, termināļa izmantošana ir ātrākais veids, kā to paveikt, jo Mac Finder nav līdzīga trika, lai gan teorētiski varētu automatizēt ligzdotu direktoriju izveidi, izmantojot OS lietotni Automator. X, ja vēlaties. Ko tas ir vērts, komanda mkdir darbojas vienādi gan operētājsistēmā Mac OS X, gan Linux, tāpēc, ja vēlaties, varat to izmantot dažādās platformās. Vai vēlaties vēl dažus komandrindas trikus? Mēs esam jums nodrošinājuši.

Rekursīvi izveidojiet ligzdotu direktoriju struktūru & Visas apakšmapes ar vienu komandu