Comando mkdir in Linux con esempi

Il comando mkdir in Linux viene utilizzato per creare directory. È un comando fondamentale con cui ogni utente Linux dovrebbe avere familiarità, poiché svolge un ruolo cruciale nella gestione di file e directory. La sintassi di base del comando mkdir ti consente di creare una o più directory alla volta, impostare i permessi e persino creare directory principali se non esistono già. Comprendere le varie opzioni e la sintassi di mkdir può migliorare significativamente la tua efficienza nella gestione di file e directory nella riga di comando.

Questa guida spiegherà la sintassi del comando mkdir, ne esplorerà le opzioni e fornirà esempi pratici su come utilizzare mkdir in diversi scenari su un sistema Linux.

Sintassi del comando mkdir

Nella sua forma più semplice, il comando mkdir segue questa sintassi:

mkdir [OPTION]... DIRECTORY...
  • mkdir è il comando per istruire il sistema a creare una nuova directory.
  • [OPZIONE] è un argomento facoltativo che modifica il comportamento del comando.
  • DIRECTORY è il nome della directory o delle directory che desideri creare.

Le opzioni disponibili con il comando mkdir

Esistono diverse opzioni che puoi utilizzare con il comando mkdir per personalizzarne la funzionalità:

  • -m, –mode=MODE: imposta la modalità file (autorizzazioni) per la nuova directory, spesso rappresentata come una stringa numerica, come '755' o '644'.
  • -p, –parents: se le directory specificate esistono già, questa opzione garantisce che non venga segnalato alcun errore. Consente inoltre la creazione di directory principali secondo necessità.
  • -v, –verbose: fornisce un output dettagliato, spiegando cosa sta facendo il comando mkdir.
  • –help: visualizza un messaggio di aiuto ed esce.
  • –version: restituisce le informazioni sulla versione ed esce.

Esempi di comandi mkdir

Creazione di una directory semplice con mkdir

L'uso più semplice e comune del comando mkdir è creare una nuova directory:

mkdir new_directory

In questo comando, nuova_directory è il nome della directory che stai creando. Dopo aver eseguito questo comando, verrà creata una nuova directory denominata nuova_directory nella posizione corrente.

Creare più directory con mkdir

Il comando mkdir può anche creare più directory contemporaneamente. Ecco come farlo:

mkdir dir1 dir2 dir3

In questo comando, dir1, dir2 e dir3 sono i nomi delle directory da creare. Questo comando creerà queste tre directory nella tua posizione corrente.

Creazione di una directory con autorizzazioni specifiche con mkdir

Utilizzando l'opzione -m o –mode è possibile specificare i permessi della directory al momento della sua creazione:

mkdir -m 755 new_directory

Qui, new_directory viene creata con i permessi impostati su "755", il che significa che il proprietario può leggere, scrivere ed eseguire, mentre il gruppo e gli altri possono solo leggere ed eseguire.

Creazione di directory nidificate con mkdir

L'opzione -p o –parents consente la creazione di directory principali secondo necessità. Ad esempio:

mkdir -p dir1/dir2/dir3

Questo comando verifica l'esistenza di dir1 e dir2 e, se non esistono, li crea. Quindi crea dir3 all'interno di dir2, che è all'interno di dir1.

Utilizzo dell'output dettagliato con mkdir

L'opzione -v o –verbose fa sì che mkdir stampi un messaggio per ogni directory creata, il che può essere utile per la risoluzione dei problemi o per la conferma:

mkdir -v new_directory

Questo comando creerà nuova_directory e quindi stamperà un messaggio che ne indica la creazione.

Creazione di una directory con uno spazio nel nome

A volte vogliamo creare una directory con uno spazio nel nome. Possiamo ottenere ciò racchiudendo il nome della directory tra virgolette:

mkdir "new directory"

Con questo comando viene creata una nuova directory denominata new directory (con uno spazio tra 'new' e 'directory').

Verifica della versione di mkdir

Puoi verificare la versione del comando mkdir attualmente installata sul tuo sistema. Ciò potrebbe essere utile in caso di problemi di compatibilità o durante la risoluzione dei problemi. Per verificare la versione è possibile utilizzare:

mkdir --version

Questo comando visualizzerà le informazioni sulla versione del comando mkdir attualmente in uso sul tuo sistema.

Visualizzazione della Guida per mkdir

Se mai avessi bisogno di aiuto nell'uso del comando mkdir o desideri controllare rapidamente le sue opzioni, usa l'opzione –help:

mkdir --help

Questo comando genererà un messaggio di aiuto che mostra l'utilizzo e le opzioni disponibili del comando mkdir.

Creazione di directory da un file di testo

Immagina di avere un file di testo con un elenco di nomi di directory che desideri creare. Puoi farlo usando il comando xargs insieme a mkdir:

xargs mkdir < dir_list.txt

In questo comando, dir_list.txt è un file di testo contenente l'elenco dei nomi di directory. Il comando leggerà questo file e creerà directory con questi nomi.

Creazione di una directory con un percorso completo

È possibile specificare il percorso completo in cui si desidera creare la directory. Ciò è particolarmente utile quando desideri creare directory in una posizione diversa dalla directory di lavoro corrente:

mkdir /path/to/new_directory

Qui, nuova_directory viene creata nel percorso specificato /percorso/a/.

Creazione di una directory nascosta

In Linux, qualsiasi nome di file o directory che inizia con un punto (.) è considerato nascosto. Per creare una directory nascosta, utilizzare:

mkdir .hidden_directory

Questo comando creerà una directory nascosta denominata .hidden_directory. Puoi visualizzare questa directory usando ls -a.

Prevenire la sovrascrittura delle directory esistenti

L'opzione -p o –parents può essere utilizzata anche per impedire al comando mkdir di sovrascrivere le directory esistenti:

mkdir -p existing_directory

Con questo comando, se directory_esistente esiste già, non verrà sovrascritta, evitando qualsiasi potenziale perdita di dati.

Creazione di una directory e impostazione dell'ID gruppo

IL g l'opzione consente di impostare l'ID del gruppo per la nuova directory:

mkdir -m g=group_name new_directory

Questo comando crea nuova_directory e imposta il relativo ID gruppo su nome_gruppo.

Creare una directory e renderla una directory temporanea

IL t l'opzione ti consente di rendere una directory una directory temporanea, che Linux tratta in modo leggermente diverso da una directory standard:

mkdir -m t new_directory

Questo comando creerà nuova_directory come directory temporanea. I file creati in una directory temporanea vengono solitamente eliminati quando non viene effettuato l'accesso per un certo periodo di tempo.

Creazione di più livelli di directory nidificate

IL -p l'opzione può essere utilizzata per creare più livelli di directory nidificate con un singolo comando:

mkdir -p Level1/Level2/Level3/Level4

Questo comando creerà quattro livelli di directory. Level1 è la directory di livello superiore, Level4 è la directory di livello inferiore e Level2 e Level3 sono directory intermedie.

Creazione di una directory con autorizzazioni diverse per utente, gruppo e altri

L'opzione -m ti consente di specificare autorizzazioni diverse per utente, gruppo e altri:

mkdir -m u=rwx,g=rx,o= new_directory

Qui, new_directory viene creata con autorizzazioni di lettura, scrittura ed esecuzione per l'utente (u), autorizzazioni di lettura ed esecuzione per il gruppo (g) e nessuna autorizzazione per gli altri (o).

Creazione di una directory in modalità dettagliata e ignoranza degli errori

L'opzione -v può essere combinata con -p per ignorare gli errori e fornire un output dettagliato:

mkdir -pv existing_directory

In questo comando, se directory_esistente esiste già, il comando mkdir non restituirà un errore e fornirà invece un output dettagliato.

Creazione di una directory senza modalità dettagliata

Se vuoi creare una directory in modo silenzioso, senza alcun output dettagliato, utilizza il comando mkdir senza l'opzione -v:

mkdir quiet_directory

Questo comando crea una directory denominata quiet_directory senza visualizzare alcun messaggio.

Utilizzo dell'espansione delle parentesi graffe con il comando mkdir

L'espansione delle parentesi graffe è una potente funzionalità di Linux che può essere utilizzata con il comando mkdir per creare una sequenza di directory:

mkdir dir{1..5}

Questo comando creerà cinque directory denominate dir1, dir2, dir3, dir4 e dir5.

Creazione di directory e impostazione dello Sticky Bit

Lo sticky bit è un bit di autorizzazione che protegge i file all'interno di una directory. Se è impostato, i file possono essere eliminati o rinominati solo dal proprietario dei file o dall'utente root. Ecco come puoi impostare lo sticky bit durante la creazione di una directory:

mkdir -m +t new_directory

Con questo comando viene creata nuova_directory con lo sticky bit impostato.

Creazione di una directory e impostazione dei bit Setuid e Setgid

I bit setuid e setgid possono essere impostati durante la creazione di una directory, il che influenza la proprietà dei file e delle directory creati al suo interno. L'opzione -m ti consente di impostare questi bit:

mkdir -m u+s,g+s new_directory

Questo comando creerà nuova_directory con i bit setuid e setgid impostati.

Creazione di directory con permessi diversi utilizzando la modalità ottale

Sebbene abbiamo già discusso della modalità simbolica per l'impostazione dei permessi, il comando mkdir supporta anche la modalità ottale:

mkdir -m 700 private_directory

Qui, private_directory viene creata con le autorizzazioni impostate su "700" (lettura, scrittura ed esecuzione per l'utente e nessuna autorizzazione per il gruppo e altri).

Creare una directory e renderla immutabile

Rendere immutabile una directory ne impedisce l'eliminazione, anche da parte dell'utente root. Per prima cosa creiamo una directory e poi la rendiamo immutabile utilizzando il file chattr comando:

mkdir new_directory
sudo chattr +i new_directory

Questo creerà una nuova_directory e la renderà immutabile.

Creazione di una directory e impostazione degli ACL predefiniti

Se il tuo file system supporta gli elenchi di controllo di accesso (ACL), puoi impostare ACL predefiniti durante la creazione di una directory:

mkdir new_directory
setfacl -d -m g::rwx new_directory

In questi comandi, viene prima creata new_directory, quindi il comando setfacl imposta l'ACL predefinito per la directory su rwx per il gruppo.

Creazione di una directory e impostazione di un contesto SELinux

Se stai lavorando su un sistema con SELinux abilitato, puoi impostare il contesto SELinux quando crei una directory:

mkdir new_directory
chcon -t httpd_sys_content_t new_directory

Qui, viene creata prima la nuova_directory. Quindi, il comando chcon modifica il contesto SELinux di new_directory in httpd_sys_content_t.

Conclusione

Padroneggiare il comando mkdir e le sue varie opzioni può migliorare notevolmente la tua capacità di gestire le directory su un sistema Linux. Comprendendone la sintassi e sperimentando gli esempi forniti, puoi semplificare il flusso di lavoro e migliorare l'efficienza della riga di comando. Che tu stia creando directory singole, directory multiple o impostando autorizzazioni specifiche, mkdir è uno strumento essenziale per qualsiasi utente Linux.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento