Logo de TuX - Linux Kernel

Crear directorios en Linux con mkdir

 
 

Índice General

  1. Introducción
  2. Ejemplos

 

  1. Introducción (Volver al índice General)
    El comando 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
    •  

    • Aplicando modos (Volver al índice General)
      Vamos a crear los directorios aplicando privilegios de lectura, escritura y ejecución. Veamos unos ejemplos:

      En el siguiente ejemplo el usuario tiene privilegios de lectura, escritura y ejecución, el grupo de lectura y ejecución y el resto ningún privilegio.

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

      Lo mismo que en ejemplo anterior pero en 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.

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

      Lo mismo que en ejemplo anterior pero en octal:

      usuario@mypc:~$ mkdir -m 777 temporal
      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:

 

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.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

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

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

Últimas publicaciones de

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.