-->

Creación de directorios, ficheros y técnicas de copia en la terminal de Linux

Objetivo:

Aprender a utilizar los comandos básicos de manipulación de estructuras y archivos en la terminal de Linux (como mkdir, touch, echo, cat y cp), entendiendo el uso de rutas absolutas y relativas, metacaracteres y opciones de seguridad para evitar sobreescrituras accidentales.

Escenario:

  • Herramientas: Terminal de Linux.
  • Conceptos clave: creación de directorios simples y anidados con -p [00:05:08], generación de ficheros vacíos con touch, redirección de texto básico con echo y >, lectura de contenido con cat, y copias recursivas con cp -r.

Instrucciones:

Fase 1: Creación de directorios (mkdir):

  • Crea un directorio llamado carpeta01 en tu ubicación actual mediante una ruta relativa:
  • mkdir carpeta01
  • Crea un directorio utilizando una ruta absoluta indicando la ruta completa del sistema:
  • mkdir /home/user001/carpeta02
  • Crea una estructura de directorios anidados (ej. un directorio dir4 que contenga en su interior una carpeta llamada prueba) de una sola vez utilizando la opción parents:
  • mkdir -p dir4/prueba

Fase 2: Creación y gestión básica de ficheros (touch, echo y cat):

  • Entra en un directorio de trabajo y crea un fichero vacío llamado f1.txt:
  • touch f1.txt
  • Inserta texto dentro de un archivo redirigiendo la salida estándar del comando echo:
  • echo "Esto es una prueba" > f1.txt
  • Visualiza el contenido del fichero recién creado utilizando el comando cat:
  • cat f1.txt

Fase 3: Copia de ficheros y directorios (cp):

  • Duplica un fichero cambiando su nombre de destino:
  • cp f1.txt f2.txt
  • Copia un fichero de manera interactiva para que el sistema pregunte antes de sobrescribir uno existente si ya se encuentra creado:
  • cp -i f1.txt f2.txt
  • Copia un directorio completo junto con su contenido utilizando la opción recursiva:
  • cp -r dir3 dir6

Preguntas de reflexión:

  1. ¿Qué diferencia fundamental existe al crear un directorio usando una ruta relativa frente a una ruta absoluta?
  2. ¿Qué utilidad principal aporta el parámetro -p al ejecutar el comando mkdir?
  3. ¿Cuáles son las dos funciones principales que cumple el comando touch sobre el sistema de archivos?
  4. ¿Qué efecto produce el operador de redirección > cuando se combina con el comando echo y un fichero que ya contiene información?
  5. ¿Qué diferencia hay entre el comando ls y el comando cat a la hora de inspeccionar archivos?
  6. ¿Por qué el comando cp por defecto no permite copiar directorios enteros a menos que se añada una opción específica?
  7. ¿Qué función cumple el modificador -i (interactivo) al utilizar el comando cp en la terminal?
  8. ¿Cómo se pueden emplear los metacaracteres (como el asterisco *) para copiar múltiples ficheros que comparten un mismo patrón de nombre de forma masiva?
  9. ¿Qué ocurre si intentas crear un subdirectorio dentro de una ruta inexistente sin utilizar la opción de anidamiento de mkdir?
  10. ¿Qué ventaja ofrece el uso del comando man en combinación con estas herramientas de gestión de ficheros?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿Qué diferencia fundamental existe al crear un directorio usando una ruta relativa frente a una ruta absoluta?

La ruta relativa crea el directorio tomando como referencia el punto exacto del árbol de directorios en el que te encuentras situado en ese momento. La ruta absoluta especifica la ubicación completa desde la raíz del sistema de ficheros (empezando por /), sin importar en qué directorio esté posicionado el usuario.


2. ¿Qué utilidad principal aporta el parámetro -p al ejecutar el comando mkdir?

La opción -p (parents) permite crear una estructura de directorios anidados de manera simultánea. Si los directorios intermedios de la ruta no existen previamente, el sistema los crea de forma automática en el mismo proceso sin arrojar errores por carpetas faltantes.


3. ¿Cuáles son las dos funciones principales que cumple el comando touch sobre el sistema de archivos?

El comando touch realiza principalmente dos acciones: si el archivo especificado no existe, lo crea instantáneamente como un fichero vacío de 0 bytes; si el fichero ya existe, actualiza sus marcas de tiempo (timestamp) de creación y modificación al momento actual.


4. ¿Qué efecto produce el operador de redirección > cuando se combina con el comando echo y un fichero que ya contiene información?

El operador > toma el texto generado por el comando echo y lo envía al archivo de destino. Si el archivo no existe, lo crea; si ya existía y contenía texto previo, sobrescribe por completo su contenido anterior con la nueva cadena de texto.


5. ¿Qué diferencia hay entre el comando ls y el comando cat a la hora de inspeccionar archivos?

ls es un comando diseñado para listar y mostrar los metadatos o la existencia de elementos dentro de un directorio. En cambio, cat lee y muestra de manera directa el contenido interno de texto que se encuentra grabado dentro de un fichero.


6. ¿Por qué el comando cp por defecto no permite copiar directorios enteros a menos que se añada una opción específica?

Por defecto, el comando cp está concebido para duplicar ficheros planos individuales. Un directorio es un contenedor lógico que puede albergar una jerarquía compleja de subcarpetas y archivos, por lo que se requiere obligatoriamente el modificador recursivo -r para recorrer y copiar todo su contenido interno.


7. ¿Qué función cumple el modificador -i (interactivo) al utilizar el comando cp en la terminal?

La opción -i (interactive) activa una medida de seguridad preventiva que detecta si el archivo de destino ya existe. En caso afirmativo, el sistema interrumpe la acción y pregunta explícitamente al usuario si desea sobrescribir el fichero antes de ejecutar la copia.


8. ¿Cómo se pueden emplear los metacaracteres (como el asterisco *) para copiar múltiples ficheros que comparten un mismo patrón de nombre de forma masiva?

Los metacaracteres como el asterisco (*) permiten agrupar patrones de búsqueda (por ejemplo, f*.txt). Esto facilita que un comando como cp aplique la misma operación de manera simultánea a todos los ficheros que coincidan con dicho patrón sin necesidad de indicarlos uno a uno.


9. ¿Qué ocurre si intentas crear un subdirectorio dentro de una ruta inexistente sin utilizar la opción de anidamiento de mkdir?

Si intentas crear un subdirectorio dentro de una ruta o carpeta contenedora que todavía no ha sido creada y omites la opción -p, el comando mkdir se detendrá de inmediato y mostrará un mensaje de error indicando que el directorio anterior no existe.


10. ¿Qué ventaja ofrece el uso del comando man en combinación con estas herramientas de gestión de ficheros?

El comando man permite consultar de forma detallada los manuales oficiales de cada instrucción en el sistema. Es fundamental para conocer todas las opciones, parámetros avanzados y sintaxis de comandos como mkdir, touch o cp sin necesidad de memorizarlos por completo.


Ficha de Laboratorio: Creación y copia de directorios y ficheros en Linux

Instrucciones de entrega:

  1. Rellena los campos y responde en este formulario desde tu navegador.
  2. Pulsa el botón de imprimir al final de la página.
  3. Selecciona "Guardar como PDF" en el diálogo de impresión.
  4. Entrega el archivo PDF en el aula virtual.

Alumno/a:      Fecha:      

Grupo:


Completa la ficha respondiendo a las siguientes preguntas:

  1. Crea directorios empleando rutas relativas, absolutas y estructuras anidadas.
    Escribe el comando para crear un directorio mediante ruta relativa:

    Escribe el comando para crear un directorio anidado con la opción correspondiente:

    Explica qué ventaja aporta la opción utilizada en el segundo comando:
  2. Crea ficheros vacíos e introduce texto en su interior mediante redirección.
    Escribe el comando para crear un fichero vacío con touch:

    Escribe el comando para insertar texto dentro del archivo usando echo y redirección:

    Explica qué sucede con el contenido previo del archivo si se utiliza dicho operador:
  3. Inspecciona el contenido de los ficheros y realiza copias de seguridad de los mismos.
    Escribe el comando para visualizar el contenido de un fichero de texto:

    Escribe el comando interactivo para copiar un fichero previniendo sobreescrituras accidentales:

    Explica cómo actúa el sistema operativo cuando se activa dicha opción de seguridad:
  4. Copia estructuras de directorios completas utilizando recursividad.
    Escribe el comando necesario para copiar un directorio entero clonando su contenido:

    ¿Por qué el comando cp ordinario no funciona directamente al aplicarse sobre carpetas?
  5. Razona sobre el uso de documentación en la terminal.
    ¿De qué manera te ayuda el comando man a conocer los parámetros avanzados de estas instrucciones sin necesidad de memorizarlos?