26/10/2005
Cuando te sumerges por primera vez en el mundo de la línea de comandos de Linux, incluso las tareas más sencillas pueden parecer un desafío. Una de las operaciones más fundamentales y necesarias es la creación de carpetas para organizar tus archivos. En entornos gráficos, esto es tan simple como hacer clic derecho y seleccionar "Nueva carpeta", pero en la terminal, el proceso es diferente, aunque igual de sencillo una vez que lo conoces. En el universo Linux, a lo que comúnmente llamamos "carpetas" se les conoce técnicamente como directorio. Esta guía completa te enseñará a dominar la creación de directorios en Ubuntu y otras distribuciones de Linux utilizando un único y poderoso comando: mkdir.

El comando mkdir, abreviatura de "make directory" (crear directorio), es la herramienta estándar para esta tarea. A lo largo de este artículo, exploraremos desde su uso más básico hasta opciones avanzadas que te permitirán construir estructuras de archivos complejas, establecer permisos específicos y escribir scripts más robustos y a prueba de errores. ¡Prepárate para organizar tu sistema de archivos como un verdadero profesional!
Lo Básico: Creando tu Primer Directorio
Empecemos por el principio. Para crear un nuevo directorio vacío en tu ubicación actual dentro de la terminal, la sintaxis es increíblemente simple. Solo necesitas escribir el comando mkdir seguido del nombre que deseas darle a tu nuevo directorio.
Por ejemplo, para crear un directorio llamado "Proyectos", ejecutarías:
mkdir Proyectos
Después de ejecutar este comando, un nuevo directorio llamado "Proyectos" aparecerá en la ubicación donde te encuentres. Puedes verificarlo usando el comando ls, que lista el contenido del directorio actual. No recibirás ningún mensaje de confirmación si la operación fue exitosa; la terminal de Linux a menudo sigue la filosofía de "sin noticias, buenas noticias".
Es crucial tener en cuenta una regla fundamental: no puedes crear un directorio con el mismo nombre que otro archivo o directorio que ya exista en la misma ubicación. Si intentas hacerlo, la terminal te devolverá un error, como por ejemplo: mkdir: no se puede crear el directorio ‘Proyectos’: El fichero ya existe. Esto previene la sobreescritura accidental y mantiene la integridad de tu sistema de archivos.
Eficiencia al Máximo: Crear Varios Directorios a la Vez
A medida que trabajas en proyectos más grandes, a menudo necesitarás crear varias carpetas al mismo tiempo. En lugar de ejecutar el comando mkdir repetidamente, puedes crear todos los directorios que necesites con una sola línea de comando, simplemente separando cada nombre de directorio con un espacio.
Supongamos que estás iniciando un nuevo proyecto de desarrollo web y necesitas carpetas para imágenes, estilos y scripts. Puedes crearlas todas de una vez:
mkdir imagenes css scripts
Al ejecutar ls, verás que las tres carpetas han sido creadas instantáneamente. Esta es una forma fantástica de ahorrar tiempo y agilizar tu flujo de trabajo.

Un Truco Avanzado: Expansión de Llaves
Para situaciones en las que necesitas crear directorios con nombres similares o secuenciales, puedes utilizar una característica poderosa de la shell llamada "expansión de llaves" (brace expansion). Esto te permite generar cadenas de texto a partir de un patrón.
Por ejemplo, si quisieras crear un directorio para cada mes del año, en lugar de escribirlos todos, podrías hacer lo siguiente:
mkdir mes_{01..12}
Este simple comando creará doce directorios: mes_01, mes_02, mes_03, y así sucesivamente hasta mes_12. Es una técnica extremadamente útil para organizar datos por fechas o para cualquier tarea que requiera una nomenclatura seriada.
Organización Jerárquica: Creando Carpetas Anidadas
A menudo, la estructura de un proyecto requiere directorios dentro de otros directorios. Por ejemplo, podrías necesitar una estructura como ProyectoFinal/fuentes/componentes. Si intentas crear esta estructura directamente con mkdir ProyectoFinal/fuentes/componentes, obtendrás un error si el directorio "ProyectoFinal" o "fuentes" no existen previamente.
Aquí es donde entra en juego una de las opciones más útiles de mkdir: la opción -p (o --parents). Esta opción le indica al comando que cree los directorios padres necesarios en la ruta si aún no existen. Es la solución perfecta para construir árboles de directorios complejos con un solo comando.
Usando nuestro ejemplo anterior, el comando correcto sería:
mkdir -p ProyectoFinal/fuentes/componentes
Este comando verificará primero si existe "ProyectoFinal". Si no, lo creará. Luego, dentro de "ProyectoFinal", verificará si existe "fuentes". Si no, lo creará. Finalmente, creará "componentes" dentro de "fuentes". Todo esto sucede de forma automática y sin errores.

Comandos a Prueba de Errores para Scripts
La opción -p tiene otro beneficio increíblemente importante, especialmente cuando escribes scripts de automatización. Imagina que tienes un script que necesita crear un directorio temporal para trabajar. Si el script se ejecuta varias veces, en la segunda ejecución fallaría porque el directorio ya existe, deteniendo potencialmente todo el proceso.
Al usar mkdir -p, el comando no generará un error si el directorio ya existe. Simplemente no hará nada y el script continuará su ejecución sin problemas. Por esta razón, es una práctica recomendada utilizar siempre mkdir -p en los scripts para garantizar que sean robustos y reutilizables.
Control Total: Directorios con Permisos Específicos
Linux es un sistema operativo multiusuario, y la gestión de permisos es una de sus características centrales. Cada archivo y directorio tiene permisos que definen quién puede leer, escribir y ejecutar su contenido. Por defecto, mkdir crea nuevos directorios con los permisos predeterminados del sistema, pero puedes especificar permisos personalizados en el momento de la creación.
Esto se logra con la opción -m (o --mode), seguida de los permisos en formato numérico octal. Por ejemplo, si deseas crear un directorio público donde cualquier usuario del sistema pueda leer, escribir y acceder, puedes usar los permisos 777.
mkdir -m 777 directorio_publico
Por otro lado, si quisieras crear un directorio donde solo el propietario tiene control total (lectura, escritura y ejecución) y los demás solo pueden leer y ejecutar, usarías los permisos 755, que es una configuración muy común para directorios web.

mkdir -m 755 assets
Entender los permisos es un tema más avanzado, pero saber que puedes definirlos desde el principio con mkdir te da un control mucho más granular sobre tu sistema.
Tabla Comparativa de Opciones de mkdir
Para resumir, aquí tienes una tabla con las opciones más comunes del comando mkdir:
| Opción | Descripción | Ejemplo de Uso |
|---|---|---|
(sin opción) | Crea un directorio en la ubicación actual. Falla si ya existe. | mkdir mi_carpeta |
-p, --parents | Crea los directorios padres si no existen. No da error si el directorio ya existe. | mkdir -p dir1/dir2/dir3 |
-m, --mode | Establece los permisos del directorio en el momento de la creación. | mkdir -m 775 compartido |
-v, --verbose | Muestra un mensaje por cada directorio creado, útil para confirmación visual. | mkdir -v carpeta1 carpeta2 |
Preguntas Frecuentes (FAQ)
¿Cómo puedo crear una carpeta en una ubicación diferente a la actual?
Puedes especificar la ruta completa (absoluta) o una ruta relativa para crear un directorio en cualquier lugar de tu sistema de archivos. Por ejemplo, para crear una carpeta "DescargasTemporales" dentro de tu directorio personal de Documentos, sin moverte de donde estás, usarías una ruta absoluta:
mkdir /home/tu_usuario/Documentos/DescargasTemporales
O, si estás en tu directorio home y Documentos está al mismo nivel, podrías usar una ruta relativa:
mkdir Documentos/DescargasTemporales
¿Qué hago si el nombre de mi carpeta necesita espacios?
Aunque generalmente se recomienda evitar los espacios en los nombres de archivos y directorios en Linux, es posible crearlos. Para ello, debes encerrar el nombre completo entre comillas (simples o dobles) o escapar el espacio con una barra invertida (\).
Con comillas: mkdir "Mi Proyecto Importante"
Escapando el espacio: mkdir Mi\ Proyecto\ Importante
Ambos comandos crearán un único directorio llamado "Mi Proyecto Importante".
¿Cómo puedo ver los directorios que he creado?
El comando principal para ver el contenido de un directorio es ls. Para obtener más detalles, como los permisos, el propietario y la fecha de modificación, puedes usar la opción -l:
ls -l
Los directorios se identificarán porque la primera letra en la columna de permisos será una 'd'. Para una vista de árbol más visual, si lo tienes instalado, el comando tree es excelente.
Conclusión
Dominar el comando mkdir es un paso esencial para cualquier persona que quiera sentirse cómoda y ser eficiente en la terminal de Linux. Lo que al principio puede parecer una tarea simple, revela una profundidad y flexibilidad sorprendentes a través de sus opciones. Has aprendido a crear directorios individuales y múltiples, a construir complejas estructuras anidadas con -p, a escribir comandos más seguros para scripts y a establecer permisos específicos con -m. La práctica es la clave, así que te animamos a abrir tu terminal y experimentar con estos ejemplos. Organizar tus archivos es el primer paso para dominar tu sistema.
Si quieres conocer otros artículos parecidos a Crear Carpetas en Ubuntu: Guía de Terminal puedes visitar la categoría Juegos.
