Rekursivt Skapa en kapslad katalogstruktur och alla undermappar med en enda kommando

Skapa en serie av kapslade kataloger inom varandra kan göras direkt via kommandoraden. Det gör det väldigt lätt att omedelbart och rekursivt skapa en komplex katalogstruktur för mappar i undermappar i undermappar utan att behöva navigera manuellt i varje katalog för att skapa en ny katalog och sedan navigera igen till den underkatalogen för att skapa ytterligare en katalog och så vidare . I stället skapar en kommandoradtrick den kompletta mellanliggande katalogvägen i ett fall.

Att bygga en kapslade katalogstruktur kräver det enkla sättet att använda det bekanta mkdir-kommandot, som rutinmässigt används för att skapa en enda ny mapp, men med bifogandet av -p-flaggan för att ange en fullständig sökväg. Om du vill försöka detta själv startar du Terminal-appen som finns i mappen / Program / Verktyg / mapp och följer med för att se hur du använder mkdir -p för att bygga en serie kataloger inom en enda kommandorad med en angiven sökväg.

Skapa en katalogstruktur rekursivt genom att ange ett sökväg

På det enklaste sättet anger du bara sökvägen som så till mkdir:

mkdir -p /path/to/make/

P-flaggan försäkrar att alla undermappar görs rekursivt och på lämpligt sätt.

Låt oss till exempel säga att den kapslade katalogvägen vi vill skapa är "/ Skapa / Dessa / Mappar / Inom / Varje / Annan /" och ingen av dessa mappar eller undermappar finns för närvarande. För att omedelbart göra dem alla, använd bara kommandosträngen:

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

Detta kommer att göra mappen "Skapa" som moderkatalog följd av den fullständiga serien "/ Dessa / Mappar / Inom / Varje / Annan /" som lämpligt nestade barnkataloger.

Du kan ange så länge en sökväg som du vill bygga och det skapar omedelbart föräldern och alla mellanliggande barnkataloger.

Verifiera katalogen och alla undermappar skapades

För att snabbt dubbelkontrollera att alla kataloger byggdes och att allt fungerade som avsedd att använda kommandot "hitta" så här:

find (parent directory) -type d -print

Med hjälp av ovanstående exempel igen skulle find-kommandot vara som så:

find ~/Create/ -type d -print

Utmatningen av det här kommandot skulle se ut som följande, rekursivt listas ut från moderkatalogen till alla barnmappar:

$ 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

Naturligtvis kan du också vända dig till Finder för att verifiera att en komplex mappstruktur har byggts, kanske lättast visad från "List" -vyn och sedan använda trianglarna för att rekursivt öppna varje underkatalog och visa innehållet, se något som följande:

(Observera att .DS_Store-filer visas eftersom alla dolda filer är synliga)

Det här är en väldigt användbar tips som vi täckte en stund tillbaka som en del av en handfull användbara kommandorads-tricks, men med tanke på bekvämligheten är det väl värt att täcka på egen hand.

Och ja, med Terminal är det överlägset snabbaste sättet att åstadkomma detta, eftersom det inte finns något liknande trick som är specifikt för Mac Finder, men man kan teoretiskt automatisera nestad katalogskapning via Automator-appen i OS X om så önskas. För vad det är värt, fungerar mkdir-kommandot detsamma både i Mac OS X och Linux, så du kan använda den över plattformar om så önskas. Vill du ha några fler kommandolinje tricks? Vi har täckt dig.