Creare in modo ricorsivo una struttura di directory nidificata e tutte le sottocartelle con un singolo comando

La creazione di una serie di directory annidate l'una nell'altra può essere eseguita immediatamente tramite la riga di comando. Ciò rende molto facile creare immediatamente e in modo ricorsivo una struttura di directory complessa di cartelle all'interno di sottocartelle di sottocartelle, senza dover navigare manualmente in ogni directory per creare una nuova directory, quindi navigare nuovamente in quella sottodirectory per creare un'altra directory, e così via . Invece, un trucco da linea di comando creerà il percorso completo della directory intermedia in un colpo solo.

Costruire una struttura di directory nidificata in modo semplice richiede l'uso del familiare comando mkdir, che viene utilizzato di routine per creare una singola nuova cartella, ma con l'allegato del flag -p per specificare un percorso completo da creare. Se vuoi provare tu stesso, lancia l'app Terminale come trovata nella cartella / Applicazioni / Utility / e segui per vedere come usare mkdir -p per creare una serie di directory all'interno di una singola riga di comando usando un percorso specificato.

Creazione di una struttura di directory in modo ricorsivo specificando un percorso

Nella sua forma più semplice, basta specificare il percorso in modo tale per mkdir:

mkdir -p /path/to/make/

Il flag -p assicura che tutte le sottocartelle vengano create in modo ricorsivo e nella posizione appropriata.

Ad esempio, supponiamo che il percorso di directory nidificato che vogliamo creare sia "/ Crea / Queste / Cartelle / Entro / Ogni / Altro /" e che nessuna di queste cartelle o sottocartelle esista attualmente. Per renderli immediatamente tutti, basta usare la seguente stringa di comando:

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

Ciò renderà la cartella "Create" come la directory principale seguita dalla serie completa di "/ These / Folders / Within / Each / Other /" come directory figlio opportunamente annidate.

È possibile specificare il percorso lungo che si desidera creare e creerà immediatamente il padre e tutte le directory secondarie intermedie.

Verifica della directory e di tutte le sottocartelle create

Per ricontrollare rapidamente tutte le directory sono state costruite e che tutto ha funzionato come previsto usando il comando 'trova' in questo modo:

find (parent directory) -type d -print

Usando di nuovo l'esempio sopra, il comando find sarebbe così:

find ~/Create/ -type d -print

L'output di questo comando sarà simile al seguente, elencando in modo ricorsivo dalla directory padre a tutte le cartelle figlio:

$ 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

Ovviamente, puoi anche rivolgerti al Finder per verificare che sia stata costruita una struttura di cartelle complessa, forse più facilmente vista dalla vista "Elenco" e quindi usando i triangoli per aprire ricorsivamente ogni sottodirectory e mostrarne il contenuto, guardando qualcosa come il a seguire:

(Nota che i file .DS_Store sono mostrati a causa della visibilità di tutti i file nascosti)

Questo è un suggerimento davvero utile che abbiamo trattato qualche volta come parte di una manciata di utili trucchi da linea di comando, ma considerando la convenienza vale la pena coprirlo da solo.

E sì, usare il Terminale è di gran lunga il modo più rapido per farlo, poiché non esiste un trucco specifico specifico per il Mac Finder, sebbene si possa teoricamente automatizzare la creazione di directory annidate tramite l'app Automator in OS X se lo si desidera. Per quello che vale, il comando mkdir funziona allo stesso modo sia su Mac OS X che su Linux, quindi puoi utilizzarlo su tutte le piattaforme, se lo desideri. Vuoi altri trucchi da linea di comando? Ti abbiamo coperto.