Crear directorios desde la consola con el comando mkdir
Para crear un directorio en GNU/Linux a través de la línea de comandos, usaremos el comando mkdir.
Su uso más sencillo, además del más habitual, es crear un directorio:
mkdir directorio
Si queremos crear más de un directorio, podemos crear tantos directorios como le indiquemos en los parámetros:
mkdir dir1 dir2 dir3
Directorios existentes
En caso de que intentemos crear uno o más directorios ya existentes, nos dará un error por cada directorio existente:
mkdir: no se puede crear el directorio «dir1»: El archivo ya existe mkdir: no se puede crear el directorio «dir2»: El archivo ya existe
Podemos evitar esos errores comprobando previamente si el directorio a crear ya existe con:
[ -d dir1 ] || mkdir dir1
Si la condición es verdadera significa que el directorio existe, por lo que no ejecutará el siguiente comando.
Si no existiera, [ -d dir1 ] devolvería falso, por lo que no ejecutaría la instrucción descrita tras la doble tubería, en este caso, mkdir dir1.
Crear directorios y subdirectorios
Si queremos crear un subdirectorio dentro de un directorio existente, escribiremos:
mkdir directorio/subdirectorio
Pero si intentamos crear un directorio nuevo con un subdirectorio, nos dará error:
mkdir directorio_nuevo/subdirectorio
Devolverá:
mkdir: no se puede crear el directorio «directorio_nuevo/subdirectorio»: No existe el archivo o el directorio
Y, obviamente, no lo creará.
Para ello, tenemos el modificador -p, de parents:
mkdir -p directorio_nuevo/subdirectorio
Que creará el directorio «directorio_nuevo» y, dentro de ese directorio, el subdirectorio «subdirectorio».
Uniendo comprobaciones y creación de directorio padre
Podemos evitar errores a la hora de crear directorios y subdirectorios haciendo primero una comprobación, a ver si existe el directorio que queremos crear, e indicar la estructura a crear con el modificador -p:
[ -d nuevo_directorio/nuevo_subdirectorio ] || mkdir -p nuevo_directorio/nuevo_subdirectorio