Rekursivt Opprett en nestet katalogstruktur og alle undermapper med en enkelt kommando

Å lage en serie med nestede kataloger i hverandre kan gjøres umiddelbart gjennom kommandolinjen. Dette gjør det veldig enkelt å umiddelbart og rekursivt lage en kompleks katalogstruktur av mapper i undermapper i undermapper uten å måtte navigere manuelt til hver katalog for å opprette en ny katalog, deretter navigere igjen til undermappen for å opprette enda en katalog, og så videre . I stedet vil et kommandolinjebud opprette den komplette mellomliggende katalogbanen i et fall.

Bygg en nestet katalogstruktur Den enkle måten krever bruk av den kjente mkdir-kommandoen, som rutinemessig brukes til å lage en enkelt ny mappe, men med vedlegget av -p-flagget for å angi en fullstendig sti å opprette. Hvis du vil prøve dette selv, kan du starte Terminal-appen som funnet i / Programmer / Verktøy / mappe og følge med for å se hvordan du bruker mkdir -p til å bygge en rekke kataloger innenfor en enkelt kommandolinje ved hjelp av en spesifisert bane.

Opprette en katalogstruktur rekursivt ved å spesifisere en sti

På det enkleste skjemaet spesifiserer du bare banen som så til mkdir:

mkdir -p /path/to/make/

P-flagget sikrer at alle undermapper blir gjort rekursivt og på riktig sted.

For eksempel, la oss si at den nestede katalogbanen vi vil opprette, er "/ Opprett / Disse / Mapper / Innen / Hver / Andre /" og ingen av disse mappene eller undermappene finnes for tiden. For å gjøre dem alle, bruk bare kommandoen streng:

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

Dette vil gjøre «Opprett» -mappen som overordnet katalog fulgt av hele serien "/ Disse / Mapper / Innen / Hver / Andre /" som riktig nestede barnekataloger.

Du kan angi så lenge en sti du vil bygge, og det vil umiddelbart opprette foreldre og alle mellomliggende barnkataloger.

Verifisering av katalogen og alle undermapper ble opprettet

For raskt å dobbeltsjekke at alle kataloger ble bygget og at alt fungerte som ment med bruk av "find" -kommandoen som:

find (parent directory) -type d -print

Ved hjelp av ovenstående eksempel igjen, vil finne-kommandoen være slik:

find ~/Create/ -type d -print

Utgangen av denne kommandoen vil se ut som følgende, rekursivt notering ut fra overordnet katalog til alle børnemapper:

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

Selvfølgelig kan du også vende deg til Finder for å bekrefte at en kompleks mappestruktur er blitt bygget, kanskje lettest sett fra "Listevisningen" og deretter bruke trekantene for å rekursivt åpne hver underkatalog og vise innholdet, se noe som følgende:

(Merk at .DS_Store-filene er vist på grunn av at alle skjulte filer er synlige)

Dette er en veldig nyttig tips som vi dekket en stund tilbake som en del av en håndfull nyttige kommandolinjetyper, men vurderingen av bekvemmeligheten er vel verdt å dekke på egen hånd.

Og ja, ved å bruke Terminal er det langt den raskeste måten å oppnå dette, da det ikke er noe lignende triks spesifikt for Mac Finder, selv om man teoretisk kan automatisere nestet katalogopprettelse gjennom Automator-appen i OS X hvis det er ønskelig. For hva det er verdt, fungerer mkdir-kommandoen det samme i både Mac OS X og Linux, slik at du kan bruke den på tvers av plattformer hvis ønskelig. Vil du ha flere kommandolinjetyper? Vi har deg dekket.