09/09/2024

Commandes et Système

Linux – Comment créer des répertoires avec la commande mkdir ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à utiliser la commande "mkdir" sous Linux. Gérer les fichiers et les répertoires d'une machine sous Linux est une tâche basique que tout administrateur système doit être capable de faire à partir de la ligne de commande. La commande mkdir, dont l'abréviation signifie "make directory" va nous aider, car elle sert à créer des dossiers sous Linux.

Ce tutoriel vous guidera à travers l'utilisation de la commande mkdir grâce à différents exemples où nous prendrons le temps de vous expliquer les différentes options utilisées.

II. Utilisation de base de la commande mkdir

D'abord, commençons par étudier la syntaxe de la commande mkdir pour comprendre son fonctionnement :

mkdir [options] <Nom du répertoire>

Donc, pour créer un répertoire, vous n'avez qu'à spécifier le nom du répertoire à créer après le nom de la commande, à la suite d'éventuelles options.

Prenons un premier exemple. Supposons que vous souhaitiez créer un répertoire nommé "Informatique" dans votre répertoire personnel. Si l'on prend l'exemple de l'utilisateur "flo", cela revient à créer ce dossier dans "/home/flo".

Voici la commande à exécuter pour cela :

mkdir /home/flo/Informatique

Nous pourrions aussi spécifier uniquement le nom du dossier à créer, sans le chemin complet ou relatif, mais ceci implique que le répertoire courant de notre shell soit "/home/flo". En effet, si nous ne précisons pas le chemin complet, le dossier est créé dans l'emplacement actuel.

flo@Ubuntu2404:~$ mkdir Informatique

Après avoir exécuté cette commande, un nouveau répertoire appelé "Informatique" sera créé à l'emplacement souhaité. Passons maintenant à d'autres cas d'usage de la commande mkdir.

III. Création de répertoires imbriqués avec mkdir

Parfois, vous avez besoin de créer une structure de répertoires imbriqués, c'est-à-dire un dossier parent avec un sous-dossier, qui lui-même devra contenir un sous-dossier. La commande mkdir est tout à fait capable de gérer cela avec l'option "-p" ("p" comme "parents").

Donc, si vous souhaitez créer une structure de répertoires comme "Informatique/Ressources/ISO/Linux" dans le dossier d'accueil d'un utilisateur (ici "flo"), utilisez cette commande :

mkdir -p /home/flo/Informatique/Ressources/ISO/Linux

Cette commande crée automatiquement tous les répertoires parents nécessaires, c'est-à-dire manquants dans le chemin précisé.

Ci-dessous, vous pouvez voir le résultat :

Linux - créer répertoires imbriqués avec mkdir

Sachez que si vous n'utilisez pas l'option "-p", l'erreur suivante sera retournée :

mkdir: impossible de créer le répertoire «/home/flo/Informatique/Ressources/ISO/Linux»: Aucun fichier ou dossier de ce type.

De plus, cette option est particulièrement intéressante, car elle permet de créer le répertoire uniquement s'il n'existe pas. Ceci pourra vous éviter d'avoir une erreur comme celle ci-dessous si le répertoire existe déjà.

mkdir: cannot create directory ‘Ressources’: File exists

IV. Création de plusieurs répertoires avec mkdir

Il peut être utile de créer plusieurs répertoires en une seule commande, ce qui évite d'enchainer plusieurs commandes mkdir à la suite. Cela tombe bien, la commande permet de le faire en listant simplement tous les noms des répertoires souhaités, séparés par un espace, comme s'il s'agissait d'une liste.

Prenons un exemple tout simple où nous souhaitons créer les répertoires "ISO", "Logiciels" et "Exploitation" dans "/home/flo/Informatique/Ressources". Voici la commande à exécuter :

mkdir ISO Logiciels Exploitation

Cette commande créera les trois répertoires dans le répertoire courant. Mais, comment faire si nous souhaitons préciser le chemin complet ?

Nous devons préciser la liste de noms entre accolades, en ajoutant une virgule entre chaque nom. Pour le même exemple, cela donnerait :

mkdir /home/flo/Informatique/Ressources/{ISO,Logiciels,Exploitation}

V. Options supplémentaires de la commande mkdir

La commande mkdir offre d'autres options utiles pour créer des répertoires sur Linux. Par exemple, voici deux options utiles :

  • -v pour "verbose" : afficher un message pour chaque répertoire créé (utile s'il y a beaucoup de répertoires à créer pour avoir un suivi)
  • -m pour "mode" : définir les permissions du répertoire.

Ces options sont cumulatives. Donc, nous pourrions relancer la création de notre arborescence de répertoires imbriqués pour ajouter le mode verbeux.

mkdir -pv /home/flo/Informatique/Ressources/ISO/Linux

Au lieu de n'avoir aucun retour dans la console, voici ce qui est retourné :

mkdir: création du répertoire '/home/flo/Informatique/Ressources'
mkdir: création du répertoire '/home/flo/Informatique/Ressources/ISO'
mkdir: création du répertoire '/home/flo/Informatique/Ressources/ISO/Linux'

Ainsi, nous savons exactement les opérations effectuées par la commande mkdir !

Par ailleurs, nous pouvons créer un répertoire avec des permissions spécifiques avec l'option "-m". Supposons que vous vouliez créer un répertoire nommé "Coffre" dans votre répertoire personnel avec des permissions restrictives : 700. Ceci correspond à des droits de lecture, écriture, et exécution uniquement pour le propriétaire :

mkdir -m 700 /home/flo/Coffre

À la suite de l'exécution de cette commande, nous obtenons ce répertoire avec les permissions souhaitées.

Commande mkdir - Configurer les permissions

VI. Conclusion

La commande mkdir est essentielle pour gérer les répertoires sous Linux, que ce soit sur Debian, Ubuntu, Rocky Linux, AlmaLinux, Kali Linux, etc... C'est une commande universelle. Vous pouvez l'utiliser pour créer rapidement une arborescence de dossiers ou plusieurs dossiers, grâce aux exemples évoqués dans cet article. D'autres commandes sont utiles, nous pouvons aussi citer la commande mv pour renommer un fichier ou un dossier, et même déplacer des données.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.