Cómo listar el Contenido de un Directorio en Linux: comando MKDIR

Como usuarios de Linux, utilizamos archivos y directorios de forma habitual. Los archivos nos permiten almacenar datos importantes, mientras que los directorios nos ayudan a organizar esos archivos correctamente.

Además, muchas veces creamos una estructura jerárquica de directorios para mantener el contenido mejor organizado.

En este artículo para principiantes, aprenderemos sobre el comando mkdir. Como su nombre lo indica, el comando mkdir se utiliza para crear un directorio con un nombre específico en una ruta determinada.

También, permite crear uno o varios directorios al mismo tiempo con los permisos necesarios.

Es importante tener en cuenta que, para usar el comando mkdir, el usuario debe contar con los permisos adecuados sobre el directorio padre. De lo contrario, el comando fallará mostrando un error de permisos denegados.

¿Cómo usar el Comando MKDIR?

Al igual que otros comandos de Linux, la sintaxis de mkdir se divide principalmente en dos grupos: options (opciones) y arguments (argumentos):

$ mkdir [OPCIONES] ... <DIRECTORIO1> <DIRECTORIO2> ...

En la sintaxis anterior, los corchetes ([]) representan argumentos opcionales, mientras que los símbolos de mayor y menor que (<>) indican argumentos obligatorios.

Uso básico del comando mkdir en Linux

Como mencionamos, mkdir es la forma abreviada de “make directory” (hacer directorio). Una ventaja importante de su uso es, que solo crea el directorio si no existe previamente un archivo o carpeta con el mismo nombre en esa ruta.

Esto, lo convierte en un comando seguro que no genera daños en el sistema. A continuación, veremos algunos ejemplos prácticos de su uso.

1. ¿Cómo crear un directorio en Linux?

Uno de los usos más básicos del comando mkdir es crear un directorio con nombre en una ruta determinada. Por ejemplo, vamos a crear un directorio llamado rpm-distros en el directorio de trabajo actual:

$ mkdir rpm-distros

Luego, puedes usar ls para verificar que el directorio fue realmente creado.

$ ls -l

En el ejemplo anterior utilizamos una ruta relativa, aunque mkdir también admite rutas absolutas.

Podemos usar el comando pwd o la variable de entorno $PWD para conocer la ruta absoluta del directorio actual.

Por ejemplo, para crear el directorio deb-distros usando la ruta absoluta:

$ mkdir $PWD/deb-distros

Puedes verificar su creación, mediante:

$ ls -l

2. ¿Cómo crear múltiples directorios en Linux?

El comando mkdir acepta múltiples rutas como argumentos, lo que permite crear varios directorios en una sola ejecución.

Por ejemplo, podemos crear tres directorios dentro de deb-distros con un solo comando:

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

Luego, puedes usar el siguiente comando, si deseas listar el contenido de la carpeta "deb-distros" creada:

$ ls -l deb-distros

Esto, debería mostrar las 3 carpetas creadas dentro de la carpeta de los directorios correspondiente, "deb-distros".

3. ¿Cómo crear múltiples directorios usando expansión de llaves?

En el ejemplo anterior repetimos el nombre del directorio padre en cada ruta. Para hacerlo más eficiente, podemos utilizar la expansión de llaves en Bash:

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

Puntos importantes:

  • No debe haber espacios alrededor de la coma (,).
  • La expansión de llaves está disponible únicamente en el shell Bash, por lo que este método puede no ser completamente portable.

Si quieres verificar el resultado, puedes hacerlo con el mismo comando que hemos ejecutado hasta ahora:

$ ls -l rpm-distros

4. ¿Cómo crear una estructura de subdirectorios anidados?

Si necesitamos crear una estructura de directorios anidados, debemos usar la opción -p que crea automáticamente los directorios padre siempre que NO existan.

Ejemplo:

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

La opción -p es especialmente útil en scripts de shell, ya que evita errores cuando algunos directorios ya existen.

Si quieres verificar de forma recursiva, puedes usar el siguiente patrón del comando ls:

$ ls -1R rpm-distros/centos

5. ¿Cómo crear un directorio con permisos específicos?

En ocasiones necesitamos asignar permisos inmediatamente después de crear un directorio. En lugar de usar mkdir y luego chmod, podemos hacerlo en un solo paso con la opción -m.

Por ejemplo:

$ mkdir -m 777 dir-1

Aquí usamos el formato numérico de permisos, aunque también podríamos utilizar el formato simbólico:

$ mkdir -m a=rwx dir-2

Si quieres verificar los permisos:

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

6. ¿Cómo activar el modo verbose en mkdir?

Por defecto, mkdir no muestra ningún mensaje cuando crea un directorio. Por eso normalmente usamos ls para comprobarlo.

Para que el comando muestre un mensaje por cada directorio creado, podemos activar el modo verbose con la opción -v.

Esta opción, es especialmente útil cuando se combina con -p:

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

El comando mostrará en pantalla cada directorio que va creando.


Conclusión

En este artículo vimos el uso básico del comando mkdir en Linux.

Aprendimos a crear uno o varios directorios, a generar estructuras anidadas, a asignar permisos en el momento de la creación y a utilizar el modo verbose para confirmar los resultados.

Dominar este comando es fundamental para organizar correctamente archivos y directorios en cualquier sistema Linux.