> For the complete documentation index, see [llms.txt](https://juanbermudez.gitbook.io/aprendiendolinux/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juanbermudez.gitbook.io/aprendiendolinux/comandos-basicos/ficheros-y-directorios/mkdir.md).

# mkdir

* [mkdir](https://manpages.debian.org/bookworm/manpages-es/mkdir.1.es.html) - Crear directorio.

```bash
$ mkdir codes
```

Básicamente el comando `mkdir` lo que hace es crear un directorio si no existe, si ya existe nos va mostrar algo similar a esto: `mkdir: no se puede crear el directorio «codes»: El archivo ya existe`. Como en el caso del comando `touch`, podemos crear varios directorios vacíos al mismo tiempo, por ejemplo: `mkdir dir1 dir2 dir3`. Ahora al ejecutar `ls` vemos estos directorios.

Para crear un directorio dentro de otro directorio que no existe es necesario usar la opción `-p` o `--parents`. Por ejemplo: `mkdir -p directorio/subdirectorio` crea dos directorios al mismo tiempo, uno dentro del otro.

{% hint style="info" %}
**Espacios en el nombre**

¿Cómo podemos crear un fichero o directorio que tenga un espacio intermedio? Una de las dos formas es crearlo entre `“”` (comillas) o con un `\` (slash invertido) al final de la palabra que queremos separar de la otra. Veamos algunos ejemplos: `touch "fichero de pruebas1"` o `touch fichero\ de\ pruebas2`. En el caso de crear un directorio hacemos lo mismo: `mkdir "directorio de pruebas1"` o `mkdir directorio\ de\ pruebas2`.

Cuando ejecutamos `ls` y un fichero o directorio tiene espacios, lo va a mostrar entre `''` (comillas simples). Si queremos movernos a un directorio que contiene un espacio en el nombre, hacemos el mismo procedimiento, escribiendo entre `""` (comillas) o indicando el espacio con un `\` (slash invertido).

Es importante comprender esta diferencia, es por eso que en la mayoría de los casos, los desarrolladores prefieren usar signos como `-` `_` `.` para separar los nombres. Esto se hace con el propósito de evitar errores al invocar dichos ficheros o directorios.
{% endhint %}
