Creare intere alberature in una riga con Linux



Un’abitudine davvero cattiva, ereditata forse dal vecchio MS-DOS, è quella di creare delle alberature un passo alla volta, con il rischio, oltre a farci venire il crampo dello scrivano, di perdere la cognizione di dove siamo e ritrovarci ad aver creato un’alberatura sbagliata. Ecco un esempio di quello che intendo dire:

~ $ mkdir tmp 
~ $ cd tmp 
~/tmp $ mkdir a 
~/tmp $ cd a 
~/tmp/a $ mkdir b 
~/tmp/a $ cd b 
~/tmp/a/b/ $ mkdir c 
~/tmp/a/b/ $ cd c 
~/tmp/a/b/c $

In questo esempio l’albero da creare è decisamente piccolo, pensate a dover creare alberi più grnadi, ad esempio per un progetto, magari con delle cartelle che hanno lo stesso nome ma in percorsi uguali (ad es. il ramo development/* e il ramo releases/* che potrebbero avere molte sottocartelle con lo stesso nome).

Ecco invece il modo giusto di fare, almeno sotto Linux, con una sola riga:

~ $ mkdir -p tmp/a/b/c

Facile no? Ok, direte voi, ma per creare percorsi più complessi bisognerà tronare al metodo “classico” perché in questo caso, nemmelo la potenza di Linux ce la può fare. E invece sì. Non solo: per creare un percorso complesso ci basta ancora una sola riga, incredibile vero? Vediamo meglio la sintassi:

~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

Ecco fatto. Dopo l’esecuzione di questo unico comando, nella cartella avrete una nuova alberatua:

. 
./project 
./project/demo 
./project/demo/stat 
./project/demo/stat/a 
./project/doc 
./project/doc/info 
./project/doc/html 
./project/doc/pdf 
./project/lib 
./project/lib/ext 
./project/bin 
./project/src
Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest