mkdir

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Mkdir

Description de l'image Mkdir terminal.png.
Informations
Écrit en CVoir et modifier les données sur Wikidata
Type Utilitaire UNIX (d)Voir et modifier les données sur Wikidata
Licence Licence publique générale GNUVoir et modifier les données sur Wikidata
Site web www.gnu.orgVoir et modifier les données sur Wikidata

mkdir est une commande Unix permettant de créer des répertoires. mkdir est l'abréviation de make directory (termes anglais signifiant « créer répertoire »). Cette commande est également connue sous le nom md (make directory) sur d'autres systèmes d'exploitation.

Paramètres[modifier | modifier le code]

Les trois principaux paramètres de mkdir sont :

  • -p pour parents : création de toute l'arborescence menant au dossier si elle n'existait pas. (voir exemples d'utilisation)
  • -v pour verbose : informe par le message mkdir: created directory 'test' pour chaque répertoire créé. (voir exemples d'utilisation)
  • -m=XXX pour mode : permet de créer le répertoire avec des permissions prédéfinies (on note les permissions dans m=permissions, voir exemples d'utilisation).
    • Mode prend en paramètre un nombre à 3 chiffres représentant les permissions à attribuer au fichier, voire commande chmod

Exemples d'utilisation[modifier | modifier le code]

Exemple d'un usage basique de la commande

$ cd ~
$ mkdir java
$ cd java
$ pwd
/home/Jean-Paul/java

Dans l'exemple ci-dessus on remarque que l'on peux créer plusieurs répertoires en une commande et même plusieurs répertoires déjà imbriqués les uns dans les autres avec la commande mkdir.

$ cd /
$ mkdir /dossier1/dossier2
$ ls
bin  dossier1  dev  home        initrd.img.old  lib64       media  opt   root  sbin  sys  usr  vmlinuz
boot  etc  initrd.img  lib             lost+found  mnt    proc  run   srv   tmp  var  vmlinuz.old

$ cd /dossier1/dossier2
$ mkdir dossier1 dossier2 dossier3
$ ls
dossier1 dossier2 dossier3

Exemple avec les paramètres mode et verbose

#Exemple avec le paramètre verbose qui affiche les répertoires créés
$ mkdir test -v
mkdir: created directory 'test'

#Exemple d'usage de du paramètre mode qui permet de préciser les droits d'accès au fichier
mkdir test -m=777    #On attrubue tous les droits au répertoire créé

Autres systèmes[modifier | modifier le code]

DOS/Windows[modifier | modifier le code]

Cette fonction existe sous MS-DOS et Windows NT. Elle peut également être abrégée en md.

Programmation[modifier | modifier le code]

La commande mkdir est présente également dans le domaine de la programmation informatique sous l’apparence d'une fonction.

Fonction C[modifier | modifier le code]

En langage C (et C++) la fonction mkdir existe dans la bibliothèque standard de gestion de fichier sys/stat.h et permet comme la commande linux de créer un répertoire

#include <sys/stat.h>
int mkdir(const char *pathname, mode_t mode);

mkdir crée un nouveau répertoire nommé pathname.

mode spécifie les permissions à appliquer au répertoire. Cette valeur peut être modifiée par le umask du processus : les permissions du répertoire effectivement créé vaudront (mode & ~umask).

Valeur retournée: mkdir renvoie 0 s'il réussit, ou 1 s'il échoue, auquel cas errno contient le code d'erreur.

Fonction PHP[modifier | modifier le code]

mkdir existe depuis PHP4.

La fonction php prend en paramètres :

  • pathname : Qui représente le chemin du répertoire.
  • mode : comme le paramètre de la commande UNIX permet de prédéfinit les permissions d'accès au répertoire.
    • *mode est ignoré sous Windows
    • "Notez que vous aurez à préciser le mode en base octale, ce qui signifie que vous aurez probablement un 0 comme premier chiffre. Le mode sera aussi modifié par le umask courant, que vous pouvez modifier avec la fonction umask()."
  • recursive : Permet la création de répertoires imbriqués spécifiés dans le pathname.
  • context (PHP 5) : "Pour une description des contextes, référez-vous à Flux"[1].

Notes et références[modifier | modifier le code]

  1. « PHP: mkdir - Manual », sur php.net (consulté le 31 janvier 2018)

Liens externes[modifier | modifier le code]