Com crear directoris a Linux mitjançant l'ordre mkdir


Breu: en aquesta guia, donarem una ullada a l'ordre mkdir que s'utilitza per crear un directori. També parlarem d'alguns dels exemples pràctics que ajudaran els principiants a fer servir el sistema Linux amb confiança.

Com a usuaris de Linux, fem servir fitxers i directoris de manera regular. Els fitxers ens permeten emmagatzemar dades importants mentre que els directoris ens permeten organitzar els fitxers d'una manera adequada. A més d'això, sovint creem una estructura de directoris jeràrquica per organitzar els continguts d'una millor manera.

En aquest article apte per a principiants, coneixerem l'ordre mkdir. Com el seu nom indica, l'ordre mkdir s'utilitza per crear un directori amb nom en una ruta determinada, que també ens permet crear un o diversos directoris alhora amb els permisos de fitxer necessaris.

Hem de tenir en compte que per utilitzar l'ordre mkdir l'usuari ha de tenir els permisos necessaris al directori principal, o bé, l'ordre fallarà amb l'error de permís denegat.

Igual que altres ordres de Linux, la sintaxi de l'ordre mkdir es divideix principalment en dos grups: opcions i arguments:

$ mkdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...

A la sintaxi anterior, els claudàtors ([]) representen els arguments opcionals mentre que els claudàtors (<>) representen els arguments obligatoris.

Ús bàsic de l'ordre mkdir a Linux

Com el seu nom indica, el mkdir és una forma abreujada del \make directory. El millor és que crea un directori només si no existeix cap directori o fitxer amb el mateix en el camí donat. D'aquesta manera, aquesta és una ordre molt segura i no causa cap dany al sistema.

En aquesta secció, veurem l'ús bàsic de l'ordre mkdir amb exemples.

Un dels ús fonamentals de l'ordre mkdir és crear un directori amb nom en un camí donat. Per tant, creem un directori amb el nom rpm-distros al directori de treball actual:

$ mkdir rpm-distros

Ara, utilitzeu l'ordre ls per verificar que s'ha creat el directori:

$ ls -l

En el primer exemple, hem utilitzat el camí relatiu amb l'ordre mkdir. Tanmateix, aquesta ordre també admet el camí absolut.

Podem utilitzar l'ordre pwd o la variable d'entorn pwd per trobar la ruta absoluta del directori de treball actual.

Per tant, creem el directori anomenat: deb-distros al directori de treball actual utilitzant el camí absolut:

$ mkdir $PWD/deb-distros

Ara, comproveu que el nou directori s'ha creat al directori de treball actual:

$ ls -l

L'ordre mkdir accepta diversos camins com a argument, la qual cosa ens permet crear diversos directoris d'una vegada.

Creem tres directoris dins del directori deb-distros amb l'única ordre:

$ mkdir deb-distros/kali deb-distros/mint deb-distros/ubuntu

Ara, llistem el contingut del directori deb-distros:

$ ls -l deb-distros

Com podem veure, l'ordre mkdir va crear diversos directoris amb èxit.

A l'exemple anterior, vam veure com crear diversos directoris dins d'un altre directori mitjançant una sola ordre. Tanmateix, aquesta no va ser la manera més eficient perquè vam especificar el nom del directori principal, és a dir, deb-distros amb cada subdirectori.

Per superar aquesta limitació, podem especificar els noms dels subdirectoris en una expansió de claus tal com es mostra a l'exemple següent, on creem tres subdirectoris dins del directori rpm-distros:

$ mkdir rpm-distros/{alma,centos,fedora}

Aquí, hem de tenir en compte els dos punts importants següents:

  • No hi ha espais a cap costat de la coma (,).
  • La funció d'expansió de claus està disponible a l'intèrpret d'ordres Bash només per tant, aquest enfocament és menys portàtil.

Ara, verifiquem que l'estructura de directoris necessària s'ha creat correctament:

$ ls -l rpm-distros

A les seccions anteriors, vam veure com crear diversos directoris. Tanmateix, aquest enfocament no funciona si volem crear una estructura de directoris imbricada. En aquest cas, podem utilitzar l'opció -p de l'ordre que crea el directori pare si és necessari.

Creem una estructura de subdirectori imbricada:

$ mkdir -p rpm-distros/centos/8.x/8.1/8.1-1911

Ara, verifiqueu el contingut del directori rpm-distros/centos d'una manera recursiva:

$ ls -1R rpm-distros/centos

Com podem veure, l'ordre va crear l'estructura de directoris necessària sense informar de l'error dels directoris pares existents. Aquesta opció és molt útil mentre s'escriuen scripts d'intèrpret d'ordres. El podem utilitzar per suprimir l'error de creació del directori que es pot produir a causa del directori existent.

De vegades, hem de modificar el permís d'accés del directori immediatament després de la seva creació. En aquest cas, hem d'utilitzar les dues ordres: mkdir i chmod. Tanmateix, podem aconseguir el mateix resultat amb una única comanda.

Utilitzem l'opció -m per establir els permisos d'accés a un directori mentre el creem:

$ mkdir -m 777 dir-1

En aquest exemple, hem utilitzat el format numèric per establir el permís d'accés. De la mateixa manera, podem utilitzar el format textual.

Per exemple, podem aconseguir el mateix resultat amb l'ordre següent:

$ mkdir -m a=rwx dir-2

Ara, utilitzeu l'ordre ls per esbrinar el permís d'accés dels directoris:

$ ls -ld dir-2 | awk '{print $1}'

Per defecte, l'ordre mkdir no imprimeix res al terminal després de la creació del directori. Per tant, fins ara hem estat utilitzant l'ordre ls per verificar si el directori s'ha creat o no.

Per superar aquesta limitació, podem utilitzar el mode detallat de l'ordre que imprimeix el missatge per a cada directori creat. Aquesta opció proporciona informació significativa quan la combinem amb l'opció –p:

Utilitzem l'opció -v amb l'ordre per habilitar el mode detallat:

$ mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5

Ara, observem la sortida de l'ordre:

En aquest article, hem vist l'ús bàsic de l'ordre mkdir. Primer, vam veure com crear un sol directori així com diversos directoris. A continuació, vam veure com establir permisos en un directori mentre el creàvem. Finalment, vam veure com verificar la creació del directori mitjançant el mode detallat.

Coneixeu algun altre millor exemple de l'ordre mkdir a Linux? Feu-nos saber les vostres opinions als comentaris a continuació.