Linux / Commande / mkdir / Commande pour créer des répertoires
Sous Linux, mkdir est la commande pour créer un nouveau répertoire. Pour créer un chemin multi-niveaux d'un coup, utilisez -p, ce qui vous permet de conserver les répertoires existants tels quels tout en créant les répertoires parents manquants.
Création et vérification des répertoires
mkdir vient de l’anglais make directory (créer un répertoire). La commande suivante crée un répertoire nommé projects dans le répertoire courant s'il n'existe pas et vérifie le résultat. Exécutez-la dans un répertoire de pratique vide pour éviter toute confusion avec des données existantes.
pwd
mkdir projects
ls -ld projects
Tout d'abord, vérifiez l'emplacement de travail actuel avec pwd, puis vérifiez si les informations du nouveau répertoire sont affichées dans ls -ld. mkdir n'affiche généralement aucun message si elle réussit. Si un fichier ou répertoire portant le même nom existe déjà, la commande par défaut affiche une erreur.
Les chemins relatifs sont basés sur l'emplacement actuel, et les chemins absolus commençant par /, tels que /home/user/projects, sont spécifiés à partir du répertoire racine. Vérifiez le chemin réel et les permissions d'accès selon votre environnement.
Créer avec les répertoires parents
La commande suivante crée les répertoires parents nécessaires s'ils n'existent pas. Par exemple, si work n'existe pas dans l'emplacement de pratique, elle créera work, work/reports et work/reports/2024 dans l'ordre.
mkdir -p work/reports/2024
ls -ld work work/reports work/reports/2024
Si vous exécutez mkdir work/reports/2024 sans -p, cela échouera lorsque le chemin parent n'existe pas. Ajouter -p ne causera pas d'erreur simplement parce que le chemin existe déjà en tant que répertoire. Cela ne supprime pas le contenu existant ni ne modifie les permissions du répertoire existant.
Cependant, s'il y a un fichier régulier portant le même nom au milieu du chemin ou si vous n'avez pas les permissions nécessaires pour le répertoire parent, cela peut échouer même si vous utilisez -p. Vérifiez le message d'erreur, le statut de sortie et le chemin réel ensemble pour confirmer le succès.
Plusieurs répertoires et noms avec des espaces
Vous pouvez lister des noms séparés par des espaces pour créer plusieurs répertoires. L'exemple suivant montre le cas où les deux noms n'existent pas encore dans l'emplacement actuel.
mkdir documents images
ls -ld documents images
Si le nom lui-même contient des espaces, mettez le chemin complet entre guillemets pour le passer comme un seul nom. S'il n'y a pas de guillemets, le shell le divisera aux espaces et les considérera comme des arguments séparés.
mkdir "project files"
ls -ld "project files"
Les noms commençant par un tiret peuvent être interprétés comme des options. Par exemple, mkdir -- -archive place le nom après --, il n'est donc pas traité comme une option.
Vérifiez les permissions et les résultats lors de la création
En général, les permissions par défaut d'un nouveau répertoire sont affectées par le umask du shell actuel et les paramètres du système de fichiers. Vérifiez le masque actuel avec umask, et vérifiez les permissions réelles du répertoire créé avec ls -ld.
Vous pouvez également définir les permissions d'un répertoire nouvellement créé en utilisant l'option -m de GNU mkdir. Voici un exemple où les permissions de lecture, d'écriture et d'exécution sont accordées au propriétaire et aucune permission n'est donnée au groupe et aux autres lorsque private n'existe pas encore.
mkdir -m 700 private
ls -ld private
Même si -p et -m sont utilisés ensemble, -m est appliqué au nouveau répertoire spécifié dans la ligne de commande et n'est pas appliqué aux répertoires parents créés automatiquement. Il n'applique pas non plus de nouvelles permissions aux répertoires déjà existants. Les listes de contrôle d'accès ou les politiques du système de fichiers peuvent affecter l'accès réel, il est donc nécessaire de vérifier les résultats dans l'environnement requis. Pour le comportement détaillé des options, consultez le manuel GNU mkdir.
Lorsque la création échoue
- Existe déjà : Utilisez
ls -ld namepour vérifier si l'élément existant est un fichier ou un répertoire.-pest approprié uniquement si vous souhaitez utiliser le répertoire existant tel quel. - Chemin parent introuvable : Vérifiez l'orthographe du chemin et votre emplacement actuel, puis décidez si vous pouvez créer les répertoires parents manquants en utilisant
-p. - Permission refusée : Vérifiez si vous disposez des autorisations nécessaires en écriture et en accès pour le répertoire parent et demandez-les à l'administrateur si nécessaire.
Vous pouvez supprimer un répertoire vide créé pendant la pratique avec rmdir après avoir confirmé qu'il ne contient aucun contenu. rmdir ne supprime généralement pas les répertoires qui ne sont pas vides.




