Logo de TuX - Linux Kernel

Crear directorios en Linux con mkdir

 
 

En este artículo veremos como crear directorios en Linux con el comando mkdir

Índice General

  1. Introducción
  2. Ejemplos

 

  1. Introducción (Volver al índice General)
    mkdir es el comando utilizado para crear directorios o carpetas en Linux. Su sintaxis es la siguiente:

    mkdir [-m=mode][-p][-v][-Z=context] directorio [directorio ...]

    Expliquemos un poco las opciones:

    • -m, –mode=MODE: Establece el modo, como con chmod.
    • -p, –parents: En caso de no existir el directorio indicado en la ruta, lo crea. Es muy útil si queremos que se creen de una sola vez todos los directorios que hay en la ruta. Si existen, no genera error.
    • -v, –verbose: Presenta un mensaje por cada directorio creado.
    • -Z: Si estamos utilizando SELinux esta opción establece el contexto de seguridad de de cada directorio creado.

    Se pueden pasar varias opciones a la vez. Veamos un ejemplo:

    $ mkdir -pvm a=rwx /temporal/dir1
  2.  

  3. Ejemplos (Volver al índice General)

    • Ejemplo básico de como crear un directorio (Volver al índice General)
      Supongamos que nos encontramos en el directorio home del usuario y queremos crear el directorio temporal, la orden sería la siguiente:

      usuario@mypc:~$ mkdir temporal

      Veamos el resultado con el comando tree:

      usuario@mypc:~$ tree temporal/
      temporal/
       
      0 directories, 0 files
    •  

    • Creando subdirectorios (Volver al índice General)
      Supongamos ahora que queremos crear el subdirectorio dir1 que cuelga de temporal, la orden sería la siguiente:

      usuario@mypc:~$ mkdir temporal/dir1

      Supongamos que queremos crear el subdirectorio dirA que cuelga de temporal/dir2. Como dir2 no existe, tendremos que indicarlo en las opciones para que cree ambos directorios. En este caso utilizaremos la orden siguiente:

      usuario@mypc:~$ mkdir -p temporal/dir2/dirA

      Creando varios directorios a la vez. En este ejemplo crearemos en temporal los directorios dir3 y dir4:

      usuario@mypc:~$ mkdir temporal/dir3 temporal/dir4

      Veamos el resultado con el comando tree:

      usuario@mypc:~$ tree temporal/
      temporal/
      ├── dir1
      ├── dir2
      │   └── dirA
      ├── dir3
      └── dir4
    •  

    • Crear directorios con privilegios (Volver al índice General)
      Vamos a crear los directorios y a la vez, aplicar privilegios de lectura, escritura y ejecución. Veamos unos ejemplos:

      En el siguiente ejemplo, crearemos el directorio llamado temporal y asignaremos al usuario propietario privilegios de lectura, escritura y ejecución, asignaremos al grupo propietario privilegios de lectura y ejecución y al resto ningún privilegio.

      usuario@mypc:~$ mkdir -m u=rwx,g=rx,o= temporal

      En este ejemplo haremos lo mismo que en el ejemplo anterior pero utilizando el sistema octal:

      usuario@mypc:~$ mkdir -m 750 temporal

      Veamos el resultado con un listado:

      usuario@mypc:~$ ls -ld tem*
      drwxr-x--- 2 usuario usuario 4096 ene 20 15:00 temporal

      En este otro ejemplo otorgamos los privilegios de lectura, escritura y ejecución a todos los usuarios utilizando el parámetro a=.

      usuario@mypc:~$ mkdir -m a=rwx temporal

      En este ejemplo haremos lo mismo que en el ejemplo anterior pero utilizando el sistema octal:

      usuario@mypc:~$ mkdir -m 777 temporal

      Veamos el resultado con un listado:

      usuario@mypc:~$ ls -ld tem*
      drwxrwxrwx 2 usuario usuario 4096 ene 20 15:04 temporal
    •  

    • Utilizando {} (Volver al índice General)
      Podemos crear varios directorios que compartan parte del nombre (o no) de una sola vez. Veamos unos ejemplos:

      Crear dentro del directorio temporal/dir1 los directorios dirA, dirB, dirC y dirD:

      usuario@mypc:~$ mkdir temporal/dir1/dir{A..D}

      Crear dentro del directorio temporal/dir3 los directorios dir1, dir2, dir3 y dir4:

      usuario@mypc:~$ mkdir temporal/dir3/dir{1..4}

      Crear dentro del directorio temporal/dir4 los directorios dirE, dirG, dir9 y dir11:

      usuario@mypc:~$ mkdir temporal/dir4/dir{E,G,9,11}

      Veamos el resultado con el comando tree:

      usuario@mypc:~$ tree temporal/
      temporal/
      ├── dir1
      │   ├── dirA
      │   ├── dirB
      │   ├── dirC
      │   └── dirD
      ├── dir2
      │   └── dirA
      ├── dir3
      │   ├── dir1
      │   ├── dir2
      │   ├── dir3
      │   └── dir4
      └── dir4
          ├── dir11
          ├── dir9
          ├── dirE
          └── dirG

      Ahora vamos a liarla parda. Vamos a crear con una sola orden toda una estructura de directorios:

      $ mkdir -p temporal/Peliculas/{Accion,Comedia/{Española,Internacional},Intriga/{Thriller,Negro},SciFi}

      Veamos este último resultado con el comando tree:

      $ tree temporal/
      temporal/
      ├── dir1
      │   ├── dirA
      │   └── dirB
      ├── dir2
      │   └── dirA
      ├── dir3
      │   ├── dir1
      │   ├── dir2
      │   ├── dir3
      │   └── dir4
      ├── dir4
      │   ├── dir11
      │   ├── dir9
      │   ├── dirE
      │   └── dirG
      └── Peliculas
          ├── Accion
          ├── Comedia
          │   ├── Española
          │   └── Internacional
          ├── Intriga
          │   ├── Negro
          │   └── Thriller
          └── SciFi

Nota: Si no tenéis instalado el comando tree, en Debian y distribuciones basadas en Debian, podéis instalarlo con el siguiente comando:

$ sudo apt install tree

 
Quizá te puedan interesar los siguientes artículos publicados en ZeppelinuX:


Crear directorios en Linux
 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.