Archivos y Directorios

Clase 30 de 43Curso de Programación en Bash Shell

Resumen

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 directorios

if [ "$1" = "D" ]; then
  mkdir -m 755 "$2"
  echo "Directorio creado correctamente"
  ls -la "$2"
elif [ "$1" = "F" ]; then
  touch "$2"
  echo "Archivo creado correctamente"
  ls -la "$2"
else
  echo "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?