La commande mkdir sous Linux est utilisée pour créer des répertoires. Il s'agit d'une commande fondamentale que tout utilisateur Linux devrait connaître, car elle joue un rôle crucial dans la gestion des fichiers et des répertoires. La syntaxe de base de la commande mkdir vous permet de créer un ou plusieurs répertoires à la fois, de définir des autorisations et même de créer des répertoires parents s'ils n'existent pas déjà. Comprendre les différentes options et syntaxes de mkdir peut améliorer considérablement votre efficacité lors de la gestion des fichiers et des répertoires en ligne de commande.
Ce guide expliquera la syntaxe de la commande mkdir, explorera ses options et fournira des exemples pratiques sur la façon d'utiliser mkdir dans différents scénarios sur un système Linux.
Syntaxe de la commande mkdir
Dans sa forme la plus simple, la commande mkdir suit cette syntaxe :
mkdir [OPTION]... DIRECTORY...
- mkdir est la commande pour demander au système de créer un nouveau répertoire.
- [OPTION] est un argument optionnel modifiant le comportement de la commande.
- DIRECTORY est le nom du ou des répertoires que vous souhaitez créer.
Les options disponibles avec la commande mkdir
Il existe plusieurs options que vous pouvez utiliser avec la commande mkdir pour personnaliser ses fonctionnalités :
- -m, –mode=MODE : définit le mode de fichier (autorisations) pour le nouveau répertoire, souvent représenté sous la forme d'une chaîne numérique, comme « 755 » ou « 644 ».
- -p, –parents : si les répertoires spécifiés existent déjà, cette option garantit qu'aucune erreur n'est signalée. Il permet également la création de répertoires parents selon les besoins.
- -v, –verbose : fournit une sortie détaillée, expliquant ce que fait la commande mkdir.
- –help : affiche un message d'aide et quitte.
- –version : affiche les informations de version et quitte.
Exemples de commandes mkdir
Création d'un répertoire simple avec mkdir
L'utilisation la plus simple et la plus courante de la commande mkdir consiste à créer un nouveau répertoire :
mkdir new_directory
Dans cette commande, new_directory est le nom du répertoire que vous créez. Après avoir exécuté cette commande, un nouveau répertoire nommé new_directory sera créé à votre emplacement actuel.
Créer plusieurs répertoires avec mkdir
La commande mkdir peut également créer plusieurs répertoires simultanément. Voici comment procéder :
mkdir dir1 dir2 dir3
Dans cette commande, dir1, dir2 et dir3 sont les noms des répertoires à créer. Cette commande créera ces trois répertoires à votre emplacement actuel.
Création d'un répertoire avec des autorisations spécifiques avec mkdir
A l'aide de l'option -m ou –mode, vous pouvez spécifier les permissions du répertoire au moment de sa création :
mkdir -m 755 new_directory
Ici, new_directory est créé avec des autorisations définies sur « 755 », ce qui signifie que le propriétaire peut lire, écrire et exécuter, tandis que le groupe et les autres ne peuvent que lire et exécuter.
Création de répertoires imbriqués avec mkdir
L'option -p ou –parents permet la création de répertoires parents selon les besoins. Par exemple:
mkdir -p dir1/dir2/dir3
Cette commande vérifie l'existence de dir1 et dir2, et s'ils n'existent pas, elle les crée. Ensuite, il crée dir3 dans dir2, qui se trouve dans dir1.
Utilisation de la sortie verbeuse avec mkdir
L'option -v ou –verbose permet à mkdir d'imprimer un message pour chaque répertoire qu'il crée, ce qui peut être utile pour le dépannage ou la confirmation :
mkdir -v new_directory
Cette commande créera new_directory puis imprimera un message indiquant sa création.
Créer un répertoire avec un espace dans le nom
Parfois, nous souhaitons créer un répertoire avec un espace dans son nom. Nous pouvons y parvenir en mettant le nom du répertoire entre guillemets :
mkdir "new directory"
Avec cette commande, un nouveau répertoire nommé nouveau répertoire (avec un espace entre « nouveau » et « répertoire ») est créé.
Vérification de la version de mkdir
Vous pouvez vérifier la version de la commande mkdir actuellement installée sur votre système. Cela peut être utile en cas de problèmes de compatibilité ou lors du dépannage. Pour vérifier la version, vous pouvez utiliser :
mkdir --version
Cette commande affichera les informations de version de la commande mkdir actuellement utilisée sur votre système.
Affichage de l'aide pour mkdir
Si jamais vous avez besoin d'aide pour utiliser la commande mkdir ou si vous souhaitez vérifier rapidement ses options, utilisez l'option –help :
mkdir --help
Cette commande affichera un message d'aide montrant l'utilisation et les options disponibles de la commande mkdir.
Création de répertoires à partir d'un fichier texte
Imaginez que vous disposez d'un fichier texte contenant une liste de noms de répertoires que vous souhaitez créer. Vous pouvez le faire en utilisant la commande xargs avec mkdir :
xargs mkdir < dir_list.txt
Dans cette commande, dir_list.txt est un fichier texte contenant la liste des noms de répertoires. La commande lira ce fichier et créera des répertoires avec ces noms.
Création d'un répertoire avec un chemin complet
Vous pouvez spécifier le chemin complet où vous souhaitez créer le répertoire. Ceci est particulièrement utile lorsque vous souhaitez créer des répertoires dans un emplacement autre que le répertoire de travail actuel :
mkdir /path/to/new_directory
Ici, new_directory est créé dans le chemin spécifié /path/to/.
Création d'un répertoire caché
Sous Linux, tout nom de fichier ou de répertoire commençant par un point (.) est considéré comme masqué. Pour créer un répertoire caché, utilisez :
mkdir .hidden_directory
Cette commande créera un répertoire caché nommé .hidden_directory. Vous pouvez afficher ce répertoire en utilisant ls -a.
Empêcher l'écrasement des répertoires existants
L'option -p ou –parents peut également être utilisée pour empêcher la commande mkdir d'écraser les répertoires existants :
mkdir -p existing_directory
Avec cette commande, si le répertoire_existant existe déjà, il ne sera pas écrasé, évitant ainsi toute perte potentielle de données.
Création d'un répertoire et définition d'un ID de groupe
Le g
L'option vous permet de définir l'ID de groupe pour le nouveau répertoire :
mkdir -m g=group_name new_directory
Cette commande crée new_directory et définit son ID de groupe sur group_name.
Créer un répertoire et en faire un répertoire temporaire
Le t
L'option vous permet de faire d'un répertoire un répertoire temporaire, que Linux traite légèrement différemment d'un répertoire standard :
mkdir -m t new_directory
Cette commande créera new_directory en tant que répertoire temporaire. Les fichiers créés dans un répertoire temporaire sont généralement supprimés lorsqu'ils ne sont pas consultés pendant un certain temps.
Création de plusieurs niveaux de répertoires imbriqués
Le -p
L'option peut être utilisée pour créer plusieurs niveaux de répertoires imbriqués avec une seule commande :
mkdir -p Level1/Level2/Level3/Level4
Cette commande créera quatre niveaux de répertoires. Level1 est le répertoire de niveau supérieur, Level4 est le répertoire de niveau inférieur et Level2 et Level3 sont des répertoires intermédiaires.
Création d'un répertoire avec différentes autorisations pour l'utilisateur, le groupe et autres
L'option -m vous permet de spécifier différentes autorisations pour l'utilisateur, le groupe et autres :
mkdir -m u=rwx,g=rx,o= new_directory
Ici, new_directory est créé avec des autorisations de lecture, d'écriture et d'exécution pour l'utilisateur (u), des autorisations de lecture et d'exécution pour le groupe (g) et aucune autorisation pour les autres (o).
Créer un répertoire en mode détaillé et ignorer les erreurs
L'option -v peut être combinée avec -p pour ignorer les erreurs et fournir une sortie détaillée :
mkdir -pv existing_directory
Dans cette commande, si le répertoire_existant existe déjà, la commande mkdir ne renverra pas d'erreur et fournira à la place une sortie détaillée.
Créer un répertoire sans mode verbeux
Si vous souhaitez créer un répertoire silencieusement, sans aucune sortie détaillée, utilisez la commande mkdir sans l'option -v :
mkdir quiet_directory
Cette commande crée un répertoire nommé quiet_directory sans afficher aucun message.
Utilisation de Brace Expansion avec la commande mkdir
L'expansion des accolades est une fonctionnalité puissante de Linux qui peut être utilisée avec la commande mkdir pour créer une séquence de répertoires :
mkdir dir{1..5}
Cette commande créera cinq répertoires nommés dir1, dir2, dir3, dir4 et dir5.
Création de répertoires et définition de Sticky Bit
Le sticky bit est un bit d'autorisation qui protège les fichiers d'un répertoire. S'il est défini, les fichiers peuvent être supprimés ou renommés uniquement par le propriétaire des fichiers ou l'utilisateur root. Voici comment définir le sticky bit lors de la création d'un répertoire :
mkdir -m +t new_directory
Avec cette commande, new_directory est créé avec le sticky bit défini.
Création d'un répertoire et définition des bits Setuid et Setgid
Les bits setuid et setgid peuvent être définis lors de la création d'un répertoire, ce qui influence la propriété des fichiers et des répertoires créés à l'intérieur. L'option -m vous permet de définir ces bits :
mkdir -m u+s,g+s new_directory
Cette commande créera new_directory avec les bits setuid et setgid définis.
Création de répertoires avec différentes autorisations à l'aide du mode octal
Bien que nous ayons déjà évoqué le mode symbolique pour définir les autorisations, la commande mkdir prend également en charge le mode octal :
mkdir -m 700 private_directory
Ici, private_directory est créé avec des autorisations définies sur « 700 » (lecture, écriture et exécution pour l'utilisateur, et aucune autorisation pour le groupe et autres).
Créer un répertoire et le rendre immuable
Rendre un répertoire immuable empêche sa suppression, même par l'utilisateur root. Tout d’abord, nous créons un répertoire puis le rendons immuable en utilisant le chattr
commande:
mkdir new_directory
sudo chattr +i new_directory
Cela créera un new_directory puis le rendra immuable.
Création d'un répertoire et définition des ACL par défaut
Si votre système de fichiers prend en charge les listes de contrôle d'accès (ACL), vous pouvez définir des ACL par défaut lors de la création d'un répertoire :
mkdir new_directory
setfacl -d -m g::rwx new_directory
Dans ces commandes, new_directory est d'abord créé, puis la commande setfacl définit l'ACL par défaut du répertoire sur rwx pour le groupe.
Création d'un répertoire et définition d'un contexte SELinux
Si vous travaillez sur un système avec SELinux activé, vous pouvez définir le contexte SELinux lors de la création d'un répertoire :
mkdir new_directory
chcon -t httpd_sys_content_t new_directory
Ici, new_directory est créé en premier. Ensuite, la commande chcon modifie le contexte SELinux de new_directory en httpd_sys_content_t.
Conclusion
Maîtriser la commande mkdir et ses différentes options peut grandement améliorer votre capacité à gérer des répertoires sur un système Linux. En comprenant sa syntaxe et en expérimentant les exemples fournis, vous pouvez rationaliser votre flux de travail et améliorer l'efficacité de votre ligne de commande. Que vous créiez des répertoires uniques, plusieurs répertoires ou définissiez des autorisations spécifiques, mkdir est un outil essentiel pour tout utilisateur Linux.