Accueil
» LINUX
»
Comment utiliser Bash pour créer des répertoires sous Linux avec la commande mkdir
Comment utiliser Bash pour créer des répertoires sous Linux avec la commande mkdir
Pour créer un répertoire depuis Bash sous Linux, utilisez la mkdircommande `bash` suivie du nom du répertoire. Par exemple, ` mkdir projectsbash` crée un dossier nommé `/chemin/vers/le projects/répertoire` dans votre répertoire de travail courant. Aucun gestionnaire de fichiers ni paquet supplémentaire n'est nécessaire pour créer un répertoire.
À proprement parler, mkdir`mkdir` n'est pas une fonction intégrée de Bash. Bash exécute l'utilitaire de création de répertoires installé sur le système ; sur les distributions GNU/Linux classiques, cet utilitaire provient de GNU Coreutils. La documentation actuelle de `mkdir` de GNU Coreutils décrit la syntaxe standard et les options utiles telles que -p`--dir`, -m`--dir` et -v`--dir`.
Créez un répertoire avec mkdir
Ouvrez un terminal et, si nécessaire, utilisez la commande `ls` pwdpour vérifier votre position actuelle. Ensuite, exécutez :
mkdir projects
Si la commande réussit, elle n'affiche généralement rien. Confirmez le nouveau répertoire avec :
ls
Création d'un répertoire à l'emplacement actuel avec mkdir.
Vous pouvez également indiquer mkdirun chemin. En Bash, une ~commande sans guillemets est interprétée comme votre répertoire personnel ; ainsi, ceci crée un chemin archivesdans votre dossier personnel :
mkdir ~/archives
Le manuel Bash sur l'expansion du tilde explique comment ~il est interprété. Si le répertoire parent n'existe pas, l'interprétation simple mkdiréchoue ; utilisez `-tilde` -ppour les chemins imbriqués.
Créez des répertoires imbriqués avec mkdir -p
L' option -p« ou » --parentscrée les répertoires parents manquants si nécessaire. C'est le choix le plus pratique pour construire une arborescence de répertoires plus profonde.
mkdir -p ~/work/client/site/assets
Si workle chemin d' accès n'existe pas encore, clientil est créé. De plus, il ne signale pas d'erreur simplement parce qu'un élément de chemin existant est déjà un répertoire.sitemkdir -p
mkdir -pcrée les répertoires parents manquants en une seule commande.
Pour les scripts, vous pouvez ajouter des conditions -vlorsque vous souhaitez une confirmation visuelle de ce qui a été créé :
mkdir -pv ~/work/client/site/assets
Créez plusieurs répertoires simultanément.
mkdiraccepte plusieurs noms de répertoires, vous pouvez donc créer plusieurs dossiers avec une seule commande :
mkdir docs images backups
Ce guide utilisant Bash, vous pouvez également utiliser l'expansion d'accolades lorsque plusieurs noms de répertoires partagent le même chemin :
mkdir -p project/{src,tests,docs}
Bash développe cette expression avant son exécution mkdir, produisant ` <br>` project/src, ` <br> project/tests` et `<br> project/docs`. GNU Bash documente ce comportement dans sa documentation sur l'expansion des accolades . L'expansion des accolades étant une fonctionnalité de Bash, ne présumez pas qu'un script exécuté par un système strictement POSIX shl'interprétera de la même manière.
L'expansion des accolades Bash est une méthode compacte pour créer plusieurs répertoires liés.
Noms de répertoires avec espaces et permissions personnalisées
Si un nom de répertoire contient des espaces, mettez le nom entier entre guillemets lorsqu'il est relatif à votre répertoire courant :
mkdir "Project Files"
Pour un chemin situé dans votre répertoire personnel, l'utilisation $HOMEde guillemets doubles est plus sûre que l'utilisation littérale du tilde :
mkdir "$HOME/Project Files"
N'écrivez pas mkdir "~/Project Files"en espérant ~un développement ; le fait de mettre le tilde entre guillemets empêche le développement normal du tilde.
GNU mkdirpermet également -mde définir le mode d'autorisation du nouveau répertoire. Par exemple :
mkdir -m 750 private
Cette commande demande les autorisations de lecture, d'écriture et d'exécution pour le propriétaire, de lecture et d'exécution pour le groupe, et aucune autorisation pour les autres utilisateurs. Vérifiez le résultat avec :
ls -ld private
Les guillemets protègent les noms contenant des espaces, tandis que -mles guillemets définissent le mode d'autorisation du répertoire demandé.
Erreurs courantes de mkdir
Le fichier existe déjà : le nom cible existe déjà. S'il s'agit d'un répertoire existant dans un chemin imbriqué, mkdir -pcela peut convenir.
Fichier ou répertoire introuvable : le chemin parent est manquant. Utilisez mkdir -p path/to/new/foldercette fonction pour créer automatiquement les chemins parents manquants.
Accès refusé : votre compte ne peut pas écrire à cet emplacement. Créez le répertoire sur un emplacement dont vous êtes propriétaire, ou n’utilisez les privilèges d’administrateur que lorsque l’emplacement système l’exige réellement.
Les espaces séparent le nom : mettez le chemin entre guillemets, par exemple mkdir "$HOME/My Projects".
Supprimez un répertoire que vous avez créé
Pour un répertoire vidermdir , utilisez :
rmdir projects
La documentation de la commande rmdir de GNU Coreutils confirme que cette rmdircommande supprime les répertoires vides. Si un répertoire contient des fichiers, rmdirelle refuse de le supprimer. La suppression récursive rm -rest possible pour les répertoires non vides, mais il est impératif de vérifier attentivement le chemin d'accès au préalable, car cette commande supprime le répertoire et son contenu.
Aide-mémoire des commandes
mkdir name— créer un répertoire à l'emplacement actuel.
mkdir ~/name— Créez un répertoire sous votre répertoire personnel.
mkdir -p a/b/c— créer une arborescence de répertoires imbriquée et les parents manquants.
mkdir one two three— créer plusieurs répertoires simultanément.
mkdir -p project/{src,tests,docs}— Utilisez l'expansion des accolades Bash pour les dossiers associés.
mkdir "$HOME/Project Files"— créer en toute sécurité un chemin d'accès au répertoire personnel contenant des espaces.
mkdir -m 750 private— créer un répertoire avec un mode d'autorisation spécifié.
mkdir --helpou man mkdir— afficher l'aide sur les commandes locales.