Aprende a crear y gestionar archivos y directorios en Bash de forma segura y automatizada. Con comandos como mkdir y touch, condicionales if/elif y el manejo de argumentos, optimizas flujos sin abrir otros programas, manteniendo el script ejecutándose línea por línea con claridad y control.
¿Cómo crear directorios y archivos en bash con mkdir y touch?
Crear recursos desde la terminal es directo y potente. Para directorios, se usa mkdir; para archivos, se usa touch. La diferencia clave: touch crea el archivo y queda listo para usarse; no abre editor. En cambio, abrir con el editor Bing sirve para editar, no para la creación simple.
Usa mkdir con permisos: mkdir -m 755 nombre_de_directorio.
Configura permisos en el acto con -m 755.
Según se explica, 755 da todos los permisos al usuario y permisos de lectura y escritura al grupo y a otros usuarios.
Para archivos, touch nombre_de_archivo crea el file sin abrir editores.
Verifica con ls -la para revisar permisos y existencia.
¿Qué diferencia hay entre mkdir y touch?
mkdir: crea directorios con permisos definidos al instante.
touch: crea archivos vacíos sin invocar otro programa.
Abrir con editor Bing: edita contenido, no conviene en scripts que ejecutan sentencia a sentencia.
¿Cómo usar condicionales y argumentos en bash para automatizar la creación?
El flujo propuesto decide según el primer argumento: D para directorio o F para file. El segundo argumento es el nombre. Se recalca respetar los espacios en las sentencias condicionales y entre palabras reservadas.
#!/usr/bin/env bash# Título: Archivos directoriosif["$1"="D"];thenmkdir -m 755"$2"echo"Directorio creado correctamente"ls -la "$2"elif["$1"="F"];thentouch"$2"echo"Archivo creado correctamente"ls -la "$2"elseecho"no existe esa opción"fi
Primer argumento ($1): tipo de recurso, D o F.
Segundo argumento ($2): nombre del directorio o archivo.
Mensajes claros: "Directorio creado correctamente" y "Archivo creado correctamente".
Verificación inmediata con ls -la "$2".
¿Cómo ejecutar el script?
Limpia la pantalla si lo deseas: clear.
Ejecuta: ./script.sh D prueba.
Verifica el directorio creado: ls -la prueba.
Ejecuta: ./script.sh F prueba.txt.
Verifica el archivo creado: ls -la prueba.txt.
¿Qué errores comunes aparecen y cómo resolverlos?
Puede aparecer el mensaje "operador unitario inesperado" al evaluar condiciones cuando no se envían argumentos. En el ejemplo, se vio en líneas específicas del archivo y se confirmó que la sintaxis estaba bien; el problema era no haber pasado D/F y el nombre.
Comprueba que envías ambos argumentos: tipo y nombre.
Revisa la sintaxis de if/elif y los espacios en [ condición ].
Usa ls para validar el resultado tras ejecutar.
Mantén el script sin abrir otros programas, para no interrumpir la ejecución.
¿Te gustaría compartir cómo automatizas la creación de recursos en Bash y qué validaciones agregas para hacer tus scripts más robustos?