Gestionar fitxers i directoris a Linux

La comanda mkdir a Linux: crear directoris



La comanda mkdir (de make directory) crea directoris nous. Pot crear-ne un o molts de cop, crear tota una ruta de directoris intermedis amb una sola comanda i assignar-los els permisos que vulguis des del principi.

Sintaxi

mkdir [opcions] directori...

Opcions més útils

OpcióQuè fa
-pCrea també els directoris intermedis que falten, i no dona error si el directori ja existeix
-m modeAssigna els permisos indicats (com amb chmod) al directori nou
-vMostra un missatge per cada directori creat

Exemples

Crear un directori al directori actual:

mkdir projectes

Crear-ne uns quants de cop:

mkdir fotos videos documents

Crear un directori amb una ruta absoluta (el directori pare ha d’existir):

mkdir /tmp/proves

Crear tota una ruta, amb els directoris intermedis, i veure què ha fet:

$ mkdir -pv x/y/z
mkdir: created directory 'x'
mkdir: created directory 'x/y'
mkdir: created directory 'x/y/z'

Sense -p, si x o x/y no existeixen, mkdir falla amb No such file or directory.

Crear una estructura de directoris amb l’expansió de claus de Bash:

$ mkdir -p web/{css,js,img}
$ ls web
css  img  js

Crear un directori amb permisos concrets:

$ mkdir -m 750 privat
$ ls -ld privat
drwxr-x--- 2 oscar oscar 4096 Oct  3 17:49 privat

750 vol dir: el propietari ho pot tot (rwx), el grup pot entrar-hi i llegir (r-x) i la resta no hi té cap accés. Si no poses -m, els permisos depenen de la teva umask (amb la umask 022, un directori nou queda com a 755, drwxr-xr-x).

Noms amb espais o caràcters especials, entre cometes:

mkdir "el meu directori"
mkdir 'preus$2026'

Directori ocult (el nom comença per punt):

mkdir .copies

Errors habituals

$ mkdir projectes
mkdir: cannot create directory ‘projectes’: File exists

Si en un script vols crear un directori «si no existeix», fes servir mkdir -p: no dona error si ja hi és.

mkdir: cannot create directory ‘/opt/app’: Permission denied

No tens permís d’escriptura al directori pare. Per crear directoris a /opt, /etc o /var necessites sudo.

Compte amb -p i -m alhora

Amb mkdir -p -m 700 a/b/c, el mode 700 només s’aplica a l’últim directori (c). Els intermedis (a i a/b) es creen amb els permisos per defecte de la umask. Si els vols tots iguals, crea’ls i després aplica chmod.

Comandes relacionades

  • cd: entrar al directori que acabes de crear.
  • rm: esborrar fitxers i directoris (rmdir per als buits).
  • tree: veure l’estructura creada.
  • chmod i umask: permisos dels directoris.
  • touch: crear fitxers buits.