En este artículo veremos como crear directorios en Linux con el comando mkdir
- 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
- 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 directoriotemporal
, 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 subdirectoriodir1
que cuelga detemporal
, la orden sería la siguiente:usuario@mypc:~$ mkdir temporal/dir1
Supongamos que queremos crear el subdirectorio
dirA
que cuelga detemporal/dir2
. Comodir2
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 directoriosdir3
ydir4
: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 llamadotemporal
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 directoriosdirA
,dirB
,dirC
ydirD
:usuario@mypc:~$ mkdir temporal/dir1/dir{A..D}
Crear dentro del directorio
temporal/dir3
los directoriosdir1
,dir2
,dir3
ydir4
:usuario@mypc:~$ mkdir temporal/dir3/dir{1..4}
Crear dentro del directorio
temporal/dir4
los directoriosdirE
,dirG
,dir9
ydir11
: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
- Ejemplo básico de como crear un directorio (Volver al índice General)
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:
- Eliminar directorios en Linux con rmdir y rm.
- Mover, copiar, renombrar y borrar directorios y archivos en Linux.
- Cómo moverse por los directorios en Linux.
Deja una respuesta