fb-pixel

Creare nuove cartelle con il comando mkdir su Linux

Pubblicato in:

by:

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!

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:

Creare Nuova Cartella Con Comando Mkdir

In questo esempio ho usato:

  1. il comando ls per visualizzare il contenuto della cartella corrente;
  2. il comando mkdir per creare la cartella “2025”;
  3. 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:

  1. creato la cartella specificando il percorso dopo il comando mkdir;
  2. usato il comando cd per spostarmi nella cartella superiore a quella appena creata (nell’esempio, si tratta della cartella articoli);
  3. usato il comando ls per visualizzare il contenuto della cartella e verificare che la nuova cartella “linux” fosse stata creata.
Creare Cartella Percorso Specifico Comando Mkdir

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
Mkdir Creare Piu Cartelle

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 Multiple Numerate Mkdir

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

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
Mkdir Opzione P Cartelle Sottocartelle

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:

Cartelle Sottocartelle Struttura Mkdir

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).
Mkdir Impostare Permessi Simbolici

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.

Permessi Linux Rappresentazione Simbolica Ottale

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:

Mkdir Impostare Permessi Numerici

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:

Mkdir Creazione Cartelle Opzione V

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
Permesso Negato Comando Mkdir

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?


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *