Vuoi imparare a creare cartelle da terminale? Con il comando mkdir puoi creare in maniera molto semplice sia singole cartelle che strutture complesse.
In questo articolo ti mostrerò i casi d’uso principali del comando mkdir e come sfruttarlo al meglio con le sue opzioni.
Iniziamo!
Table of Contents
Sintassi del comando mkdir
Il comando mkdir (che sta per make directory) ci permette di creare nuove cartelle direttamente da terminale.
Le funzioni più utili di questo comando Linux sono la possibilità di creare più cartelle in una volta sola e il poter impostare i permessi per le cartelle che andiamo a creare.
La sintassi di base del comando è la seguente:
mkdir [opzioni] nome-cartella
Ad esempio per creare una cartella chiamata “articoli-supporthost”, userò il comando in questo modo:
mkdir articoli-supporthost
Ora che abbiamo visto la sintassi del comando, possiamo passare a vedere i casi d’uso principali con degli esempi.
Casi d’uso del comando mkdir
Vediamo come utilizzare il comando mkdir per creare una o più cartelle e come sfruttare le sue opzioni.
Partiamo dall’esempio più semplice, creare una singola cartella, per poi passare a vedere come creare strutture complesse (cartelle e sottocartelle) con un singolo comando.
Come creare una cartella con il comando mkdir
L’utilizzo più semplice del comando mkdir è quello di creare una cartella.
Per farlo, abbiamo due opzioni principali:
- creare la cartella nella posizione corrente;
- crearla in un percorso specifico.
Vediamo come.
Creare una cartella nella posizione corrente
Per creare una nuova cartella direttamente nella posizione attuale, ci basta usare il comando mkdir seguito dal nome della cartella.
Per creare la cartella “2025” userò il comando in questo modo:
mkdir 2025
Suggerimento: se hai dubbi su quale sia il percorso della cartella corrente, puoi visualizzarlo su terminale usando il comando pwd.
Ecco un esempio pratico:

In questo esempio ho usato:
- il comando ls per visualizzare il contenuto della cartella corrente;
- il comando mkdir per creare la cartella “2025”;
- il comando ls per verificare che la cartella fosse stata creata correttamente.
Creare una cartella specificando il percorso
Se, invece di creare la cartella nel percorso corrente, volessimo crearla in un’altra destinazione abbiamo due opzioni:
- la prima consiste semplicemente nell’usare il comando cd per cambiare il percorso e poi creare la cartella;
- la seconda (e più rapida) consiste nello specificare il percorso.
Per farlo dobbiamo quindi usare il comando mkdir seguito dal percorso completo della nuova cartella che vogliamo creare.
Facciamo un esempio pratico per capire meglio come si fa.
Voglio creare una nuova cartella “linux” in questo percorso:
~/Documenti/SupportHost/articoli/linux
Attualmente nel terminale mi trovo nella cartella home dell’utente, quindi per creare la cartella nel percorso userò il comando mkdir con il percorso completo, così:
mkdir ~/Documenti/SupportHost/articoli/linux
Nell’esempio qui sotto ho:
- creato la cartella specificando il percorso dopo il comando
mkdir
; - usato il comando
cd
per spostarmi nella cartella superiore a quella appena creata (nell’esempio, si tratta della cartella articoli); - usato il comando
ls
per visualizzare il contenuto della cartella e verificare che la nuova cartella “linux” fosse stata creata.

Come creare più cartelle
Possiamo usare il comando mkdir per creare più cartelle usando un solo comando.
Se vogliamo creare cartelle con nomi differenti, ci basta specificare i nomi delle cartelle uno dopo l’altro, separati da uno spazio.
Voglio creare nel percorso corrente le cartelle:
- debian
- ubuntu
- arch
Per farlo, uso il comando mkdir in questo modo:
mkdir debian ubuntu arch

Per creare cartelle con uno specifico pattern, si può usare una scorciatoia: ad esempio se voglio creare cartelle che iniziano con una stringa e poi siano seguite da un numero crescente, posso fare così:
mkdir articolo{1..7}
Questo comando mi permetterà di creare cartelle rinominate come “articolo1, articolo2, ecc.” fino all’ultimo numero specificato.

Creare cartelle e sottocartelle
Il comando mkdir ci permette di creare un’intera struttura di cartelle e sottocartelle. Per poterlo fare possiamo sfruttare l’opzione -p che serve a creare delle cartelle superiori e delle sottocartelle.
Facciamo un esempio semplice. Voglio creare queste tre cartelle annidate:
- gruppo
- sottogruppo
- utente
- sottogruppo
Nel percorso per esteso saranno in questo modo:
gruppo/sottogruppo/utente
Per farlo uso il comando mkdir con l’opzione -p:
mkdir -p gruppo/sottogruppo/utente

In questo esempio ti mostro cosa succede se proviamo a usare il comando qui sopra senza utilizzare l’opzione -p:
- ci viene mostrato un errore che indica che il file o la directory non esistono.
Questo succede perché il comando va a cercare il percorso fino all’ultima cartella indicata, in questo caso “utente” e non trovando le cartelle superiori “sottogruppo” e “gruppo”, non riesce a procedere con la creazione.
Invece, utilizzando l’opzione -p quando la cartella superiore non viene trovata, viene creata e quindi la creazione di cartelle e sottocartelle va a buon fine, come si vede nella seconda parte dell’esempio.
Possiamo usare l’opzione -p anche per creare più cartelle con a loro volta sottocartelle. Vediamo un esempio più elaborato.
Voglio creare una cartella “fatture” con all’interno delle cartelle che indichino gli anni:
2025, 2024, 2023.
All’interno delle cartelle degli anni, voglio creare delle cartelle numerate 01, 02,03, ecc.
Utilizzo questo comando:
mkdir -p fatture/{2025/{01,02,03,04},2024/{01..12},2023/{01..12}}
In questo modo posso creare una struttura di cartelle e sottocartelle. In questo esempio specifico:
- la cartella 2025 conterrà 4 cartelle con i nomi indicati nelle parentesi graffe (da 01 a 04);
- per creare le cartelle numerate negli altri due casi (sottocartelle delle cartelle 2024 e 2023), possiamo usare la scorciatoia che abbiamo visto prima e indicare solo il numero iniziale e finale {01..12}.
Questo comando restituirà una struttura come questa:

Creare una cartella impostando i permessi
Su Linux possiamo definire i permessi di lettura, scrittura ed esecuzione dei file usando due tipi di rappresentazione:
- simbolica
- rwx – read, write, execute.
- numerica
- dove ogni permesso è rappresentato da un numero (esempio 777 tutti possono leggere, scrivere ed eseguire).
Se vuoi fare un ripasso, puoi leggere la nostra guida al comando chmod per capire meglio la differenza tra le due rappresentazioni.
Quando creiamo una cartella con il comando mkdir, possiamo specificare i permessi usando l’opzione -m.
Possiamo indicarli sia usando la rappresentazione simbolica che quella numerica, vediamo come fare.
Impostare i permessi con rappresentazione simbolica (r,w,x)
Per usare la rappresentazione simbolica, useremo il comando così:
mkdir -m a=rw riepilogo
Come si usa il comando:
- l’opzione -m ci permette di impostare i permessi;
- in questo esempio con “a=rw” stiamo dando solo il permesso di lettura e scrittura (manca quindi quello di esecuzione) a tutti i tipi di utente (utente, gruppo e tutti gli altri).
Nell’esempio qui sotto puoi vedere come abbiamo usato due comandi diversi:
- nel primo caso (u=rw) stiamo dando i permessi di lettura e scrittura (rimuovendo quello di esecuzione), all’utente (u come user);
- nel secondo caso (a=rw) stiamo dando i permessi di lettura e scrittura a tutti e tre i tipi di utenti (a come all).

Nell’esempio ho utilizzato anche il comando rm, tra un comando mkdir e l’altro, per eliminare la cartella “riepilogo” e poterla quindi ricreare con altri permessi. In alternativa, trattandosi di una cartella vuota, avrei potuto anche usare il comando rmdir.
Impostare i permessi con rappresentazione numerica (777)
Quando creiamo una nuova cartella con il comando mkdir possiamo anche impostare i permessi usando la rappresentazione numerica.
Ecco qui un breve schema per ripassare come funziona la rappresentazione numerica dei permessi di Linux.

Nell’esempio che andiamo a fare, vogliamo che solo l’utente abbia il permesso di lettura, scrittura ed esecuzione, quindi useremo il valore numerico 700.
Ecco un esempio con la creazione di una cartella dal nome “riassunti”:
mkdir -m 700 riassunti
Nell’esempio qui sotto, dopo aver creato la cartella, ho usato il comando ls -l
per avere i dettagli sulle cartelle presenti e verificare i permessi:

Ottenere dettagli durante la creazione delle cartelle
Come altri comandi Linux, anche mkdir ha un’opzione -v
(verbose) che ci permette di avere un messaggio dettagliato che ci indica cosa è stato fatto.
Di default, la maggior parte dei comandi Linux non restituisce un output se non per indicarci che c’è stato un errore. Nel caso in cui, ad esempio stiamo creando più cartelle concatenate come negli esempi che abbiamo visto prima, può essere utile attivare la modalità verbose e avere dettagli sulla creazione delle cartelle man mano che si procede.
Per farlo è sufficiente aggiungere l’opzione -v. Vediamo come fare riprendendo l’esempio che abbiamo visto prima per la creazione di cartelle e sottocartelle:
mkdir -vp fatture/{2025/{01,02,03,04},2024/{01..12},2023/{01..12}}
In questo caso ho aggiunto l’opzione “-v” per far sì che per ogni cartella creata venga mostrato l’output, ecco cosa succede quando diamo il comando:

Come vedi nella gif, per ogni cartella creata viene restituito un messaggio come questo:
mkdir: directory 'fatture/2025' creata
Risolvere il problema del permesso negato
Se durante la creazione di una cartella da terminale, vediamo un errore che ci indica “permesso negato“, è possibile che l’utente che stiamo usando non abbia i permessi per creare la cartella in quella specifica posizione.
Ecco un esempio di come appare l’errore:
mkdir: impossibile creare la directory "nuova/prova": Permesso negato

In questo caso per risolvere possiamo usare l’accesso root usando il comando sudo
prima del comando che vogliamo usare.
Nel nostro esempio:
sudo mkdir nuova/prova
Con questo comando possiamo riuscire a bypassare i problemi di permessi e creare la cartella nella posizione desiderata.
Tieni presente che quando usi il comando sudo ti verrà richiesto di inserire la password.
Conclusioni
Adesso sai come utilizzare il comando mkdir per creare nuove cartelle da terminale. Tra i comandi per la modifica di file e cartelle, mkdir è uno dei primi da imparare perché ci permette di velocizzare le operazioni quotidiane da terminale. E tu, conoscevi già questo comando?
Lascia un commento