Descripción
El comando mkdir (Make Directory) se utiliza para crear directorios en sistemas Linux y Unix. Es una de las herramientas más básicas y utilizadas de la terminal, ya que prácticamente cualquier tarea de administración, desarrollo o automatización implica la creación de carpetas para organizar archivos, proyectos, configuraciones o datos.
Aunque su uso más habitual es crear un único directorio, también permite crear estructuras completas de carpetas de forma automática, asignar permisos durante la creación y evitar errores cuando parte de la estructura ya existe.
Es un comando fundamental para administradores de sistemas, desarrolladores, scripts de automatización y despliegues.
Instalación (si procede)
El comando mkdir forma parte de GNU Coreutils y viene instalado por defecto en prácticamente cualquier distribución Linux.
Verificar instalación
mkdir --version
Atributos y Parámetros
| Atributo | Descripción |
|---|---|
-p | Crea directorios padre si no existen. |
-m | Establece permisos durante la creación. |
-v | Muestra información detallada de los directorios creados. |
--help | Muestra la ayuda del comando. |
--version | Muestra la versión instalada. |
Ejemplos de Uso
Crear un directorio simple
mkdir proyecto
Crea una carpeta llamada proyecto en el directorio actual.
Es el uso más básico y frecuente.
Crear varios directorios a la vez
mkdir logs backups temporal
Genera tres directorios diferentes en una sola ejecución.
Muy útil durante la preparación inicial de servidores o aplicaciones.
Crear una estructura completa de directorios
mkdir -p proyecto/src/controllers
Si las carpetas intermedias no existen, se crearán automáticamente.
Resultado:
proyecto
└── src
└── controllers
Es probablemente la opción más utilizada en desarrollo.
Crear varias ramas de directorios
mkdir -p proyecto/{src,logs,config,backup}
Resultado:
proyecto ├── src ├── logs ├── config └── backup
Permite generar estructuras completas con muy poco esfuerzo.
Crear directorios y mostrar información
mkdir -v pruebas
Salida:
mkdir: created directory 'pruebas'
Útil en scripts y automatizaciones para verificar qué se está creando.
Crear un directorio con permisos específicos
mkdir -m 700 privado
Permisos resultantes:
drwx------ privado
Solo el propietario podrá acceder al directorio.
Crear un directorio compartido
mkdir -m 775 compartido
Permite que usuarios del mismo grupo puedan trabajar conjuntamente.
Muy utilizado en servidores de desarrollo.
Evitar errores si el directorio ya existe
mkdir -p backups
Si el directorio ya existe, no se mostrará error.
Esto hace que -p sea ideal para scripts.
Crear directorios utilizando variables
NOMBRE=cliente01mkdir $NOMBRE
Muy habitual en scripts Bash.
Crear directorios basados en fechas
mkdir backup-$(date +%Y%m%d)
Resultado:
backup-20260731
Perfecto para sistemas de copias de seguridad.
Preparar una estructura de proyecto web
mkdir -p web/{public,logs,config,tmp}
Resultado:
web ├── public ├── logs ├── config └── tmp
Muy útil en despliegues automatizados.
Crear directorios para Docker
mkdir -p docker/{nginx,mysql,redis}
Permite organizar rápidamente servicios de contenedores.
Crear directorios para copias de seguridad
mkdir -p /backup/{diario,semanal,mensual}
Una estructura muy habitual en servidores Linux.
Crear directorios desde una lista
for dir in app logs temp cache
do
mkdir -p $dir
done
Muy útil en scripts de instalación.
Casos de uso reales
Preparar una nueva aplicación
mkdir -p app/{src,public,config,logs}
Permite generar la estructura inicial del proyecto.
Automatizar despliegues
mkdir -p /var/www/proyecto/releases
Común en pipelines CI/CD.
Crear directorios para almacenar logs
mkdir -p /var/log/mi-aplicacion
Práctica habitual en aplicaciones personalizadas.
Preparar un servidor de copias de seguridad
mkdir -p /backup/{clientes,basesdatos,sistemas}
Facilita la organización de las copias.
Crear estructuras para contenedores Docker
mkdir -p docker/{volumes,compose,configs}
Muy utilizado en entornos DevOps.
Distribuciones Compatibles
Ubuntu, Debian, Fedora, RHEL, Rocky Linux, AlmaLinux, Arch Linux, openSUSE, Alpine Linux y prácticamente cualquier sistema Unix o Linux.
Alternativas
install -d: Permite crear directorios y establecer permisos o propietarios en una sola operación.
mkdir -p: La variante más utilizada para automatización y scripting.
Herramientas de despliegue (Ansible, Terraform, Puppet): Pueden crear directorios durante procesos de automatización.


Deja una respuesta