Actividades de manejo del Sistema de archivos

Las siguientes actividades están diseñadas para afianzar los conceptos de creación, listado, copia y eliminación de archivos y carpetas en el sistema de archivos, utilizando herramientas como nano, ls, cp, mv y rm entre otras.

Actividad 1: Creación de Estructura de Directorios

Objetivo: Utilizar rutas absolutas y relativas para crear una estructura de directorios.

Descripción

Esta actividad está diseñada para fortalecer su comprensión sobre el uso de rutas absolutas y relativas en la gestión del sistema de archivos en Linux. Al finalizar esta actividad, se espera que usted sea capaz de diferenciar y aplicar ambos tipos de rutas para la creación de directorios de manera eficaz.

Pasos

  1. Desde su directorio home, cree una estructura de directorios llamada Practica/Proyecto1 y Practica/Proyecto2, utilizando rutas absolutas.

  2. Desde su directorio home, cree una estructura de directorios llamada Practica/Proyecto3 y Practica/Proyecto4, utilizando rutas relativas.

Ejemplos

Creación de Directorios con Rutas Absolutas:

Para crear los directorios Proyecto1 y Proyecto2 dentro de Practica utilizando rutas absolutas, puede usar el comando mkdir de la siguiente manera:

mkdir -p /home/su_usuario/Practica/Proyecto1
mkdir -p /home/su_usuario/Practica/Proyecto2

Reemplace su_usuario con su nombre de usuario real en el sistema.

Creación de Directorios con Rutas Relativas:

Para crear los directorios Proyecto3 y Proyecto4 dentro de Practica usando rutas relativas, asegúrese primero de estar en su directorio home, y luego ejecute:

cd Practica
mkdir Proyecto3 Proyecto4

O, si prefiere hacerlo en un solo paso desde el directorio home:

mkdir -p Practica/Proyecto3
mkdir -p Practica/Proyecto4

Estructura de Archivos Resultante

Al final de este ejercicio, dentro de su carpeta home deberá tener la siguiente estructura de archivos:

digraph estructura {
   node [shape=folder, style=filled, color=lightblue];
   edge [dir=none];

   Raiz [label="~/"];
   Practica [label="Practica"];
   Proyecto1 [label="Proyecto1"];
   Proyecto2 [label="Proyecto2"];
   Proyecto3 [label="Proyecto3"];
   Proyecto4 [label="Proyecto4"];

   Raiz -> Practica;
   Practica -> Proyecto1;
   Practica -> Proyecto2;
   Practica -> Proyecto3;
   Practica -> Proyecto4;
}

Preguntas Finales de la Actividad:

  • ¿Qué diferencias y similitudes observa al utilizar rutas absolutas y relativas para la creación de directorios?

  • ¿En qué situaciones podría preferir usar una sobre la otra?

  • ¿Que quiere decir el -p en la instrucción mkdir

Actividad 2: Creación de Directorios Anidados

Objetivo: Mejorar la habilidad para crear múltiples niveles de directorios anidados en una sola operación.

Descripción

Este ejercicio busca reforzar la comprensión y habilidad para manejar estructuras de directorios complejas, creando múltiples niveles de anidación con un solo comando. Este tipo de habilidad es especialmente útil para organizar proyectos grandes o para preparar una estructura de directorio estándar rápidamente.

Pasos

1. Anidación Profunda: Desde su directorio home, cree una estructura de directorios con al menos 5 niveles de profundidad dentro de Proyecto4 utilizando una ruta absoluta. La estructura propuesta es Proyecto4/Nivel1/Nivel2/Nivel3/Nivel4/Nivel5.

Ejemplo

Para lograr la creación de esta estructura de directorios en un solo paso, puede utilizar el comando mkdir con la opción -p, que permite la creación de directorios padres según sea necesario:

mkdir -p ~/Practica/Proyecto4/Nivel1/Nivel2/Nivel3/Nivel4/Nivel5

Este comando crea todos los directorios necesarios en la ruta especificada, incluso si algunos de los directorios de nivel superior aún no existen.

Preguntas Finales de la Actividad

  • Después de completar este ejercicio, piense en cómo podría utilizar este método para estructurar sus propios proyectos o para automatizar la preparación del entorno de trabajo.

Actividad 3: Navegación Usando Rutas Relativas

Objetivo: Practicar la navegación entre directorios usando rutas relativas.

Descripción

Este ejercicio le ayudará a familiarizarse con el uso de rutas relativas para navegar por el sistema de archivos de Linux, una habilidad crucial para trabajar eficientemente en la línea de comandos.

Pasos

  1. Navegue al directorio Proyecto1 desde su directorio home. Asumiendo que Proyecto1 está directamente bajo Practica en su directorio home, puede hacerlo con:

    cd ~/Practica/Proyecto1
    
  2. Desde Proyecto1, vaya al directorio Proyecto2 utilizando una ruta relativa. Si Proyecto2 está al mismo nivel que Proyecto1 dentro de Practica, utilice:

    cd ../Proyecto2
    
  3. Desde Proyecto2, regrese al directorio home del usuario usando rutas relativas. Para volver directamente al directorio home desde cualquier lugar, puede simplemente usar:

    cd ~
    

    O de manera relativa, subiendo los niveles necesarios:

    cd ../../..
    

Preguntas Finales

  • Después de realizar esta actividad, ¿cómo describiría la diferencia entre una ruta absoluta y una ruta relativa? Proporcione ejemplos específicos basados en la actividad para apoyar su respuesta.

  • ¿Por qué cree que es importante entender y utilizar rutas relativas al trabajar en la línea de comandos? ¿Cómo puede impactar esto en su flujo de trabajo diario al manejar archivos y directorios?

  • Imagine que se encuentra trabajando en un proyecto con múltiples subdirectorios y necesita moverse frecuentemente entre ellos. ¿Cómo aplicaría lo aprendido sobre rutas relativas para optimizar sus movimientos dentro de la estructura del proyecto?

  • En el paso 3, se muestra cómo regresar al directorio home utilizando tanto el comando cd ~ como una serie de comandos cd ../../... ¿En qué situación podría ser más beneficioso utilizar el método relativo sobre el comando directo para regresar al directorio home?

Actividad 4: Creación de archivos con rutas relativas y rutas absolutas

Objetivo: Practicar la creación de archivos utilizando tanto rutas relativas como absolutas.

Descripción

Esta actividad está diseñada para reforzar el entendimiento y la aplicación de rutas relativas y absolutas al crear archivos en el sistema de archivos de Linux. Al finalizar, usted habrá practicado cómo especificar la ubicación de los archivos de manera relativa y absoluta, una habilidad esencial para la gestión eficiente de archivos y directorios.

Pasos

  1. Uso de Rutas Relativas para la Creación de Archivos:

    Estando en el directorio Proyecto2, cree los siguientes archivos dentro de Proyecto1: archivo1.txt, archivo2.txt, archivo3.txt, archivo4.txt. Para hacerlo, utilice rutas relativas.

    Ejemplo:

    nano ../Proyecto1/archivo1.txt
    nano ../Proyecto1/archivo2.txt
    nano ../Proyecto1/archivo3.txt
    nano ../Proyecto1/archivo4.txt
    

    Este conjunto de comandos asume que Proyecto1 y Proyecto2 están al mismo nivel dentro de la estructura de directorios Practica.

  2. Uso de Rutas Absolutas para la Creación de Archivos:

    Ahora, cree archivos de configuración: archivo1.conf, archivo2.conf, archivo3.conf, archivo4.conf dentro del mismo directorio Proyecto1, pero esta vez utilizando rutas absolutas.

    Ejemplo:

    nano /home/su_usuario/Practica/Proyecto1/archivo1.conf
    nano /home/su_usuario/Practica/Proyecto1/archivo2.conf
    nano /home/su_usuario/Practica/Proyecto1/archivo3.conf
    nano /home/su_usuario/Practica/Proyecto1/archivo4.conf
    

    Reemplace /home/su_usuario con la ruta absoluta a su directorio home. Este método asegura que los archivos se crearán exactamente en la ubicación especificada, independientemente de su directorio de trabajo actual.

Preguntas Finales

  • ¿Cómo difiere su experiencia al usar rutas relativas versus absolutas en la creación de archivos? ¿En qué situaciones podría preferir una sobre la otra?

  • ¿Qué ventajas encuentra al utilizar el comando nano con rutas absolutas para la creación de archivos en directorios específicos?

Actividad 5: Listado de Archivos con Comodines

Objetivo: Utilizar el comodin (*) para listar archivos específicos.

Descripción

Esta actividad está diseñada para mejorar su habilidad en el uso de comodines para filtrar y listar archivos específicos dentro de un directorio. El dominio de los comodines le permitirá realizar búsquedas de archivos más eficientes y precisas en la línea de comandos.

Pasos

Asuma que todos los comandos se ejecutan desde el directorio practica``que contiene a ``Proyecto1.

  1. Listar archivos .txt:

    Para listar todos los archivos en Proyecto1 que terminen con .txt, utilice:

    ls Proyecto1/*.txt
    
  2. Listar archivos .conf:

    Para listar todos los archivos en Proyecto1 que terminen con .conf, ejecute:

    ls Proyecto1/*.conf
    
  3. Listar archivos que comienzan con archivo1:

    Para listar todos los archivos en Proyecto1 que comiencen con archivo1, use:

    ls Proyecto1/archivo1*
    
  4. Listar archivos que comienzan con archivo y terminan en .txt:

    Para listar todos los archivos en Proyecto1 que comiencen con archivo y terminen en .txt, pruebe:

    ls Proyecto1/archivo*.txt
    

Preguntas Finales

  • ¿Cómo los comodines facilitan la búsqueda y organización de archivos en sistemas Linux?

  • ¿Que otros comodines existen? Describa una situación en la que el uso del ? sería más adecuado que el uso de * al buscar archivos. ¿Por qué?.

    Nota: Se recomienda leer la pagina man de glob, para buscar información sobre el uso de comodines en Linux. Solo se responderán preguntas si se evidencia que han leido el man. Para leer este man, usar la siguiente instrucción en la línea de comandos.

    man 7 glob
    

Actividad 6: Moviendo Archivos con Rutas Relativas

Objetivo: Practicar el movimiento de archivos entre directorios utilizando rutas relativas.

Descripción

Esta actividad está diseñada para mejorar su habilidad en el uso de rutas relativas para mover archivos de un directorio a otro. Aprender a utilizar rutas relativas de manera efectiva puede optimizar su flujo de trabajo al minimizar la necesidad de ingresar rutas largas y complejas.

Pasos

Asuma que todos los comandos se ejecutan desde el directorio que contiene Proyecto1, Proyecto2 y Proyecto3.

  1. Mover un Archivo Específico:

    Para mover archivo1.txt de Proyecto1 a Proyecto2, puede utilizar el comando mv junto con rutas relativas:

    mv Proyecto1/archivo1.txt Proyecto2/
    

    Este comando traslada archivo1.txt desde el directorio Proyecto1 directamente al directorio Proyecto2.

  2. Mover Múltiples Archivos:

    Para mover todos los archivos .conf desde Proyecto1 a Proyecto3, use:

    mv Proyecto1/*.conf Proyecto3/
    

    Este comando selecciona todos los archivos que terminan en .conf dentro de Proyecto1 y los mueve al directorio Proyecto3.

Ejemplos

  • Mover Archivos Específicos con Rutas Relativas: El uso de mv con rutas relativas facilita la reorganización de archivos sin necesidad de navegar entre los directorios manualmente.

  • Uso de Comodines para Seleccionar Múltiples Archivos: El ejemplo para mover archivos .conf demuestra cómo los comodines pueden ser poderosos aliados en la gestión de archivos, permitiendo operaciones en lotes de archivos que comparten patrones en sus nombres.

Preguntas Finales

  • ¿Cómo podría aplicar lo aprendido sobre rutas relativas y el uso de comodines en un escenario de trabajo real? Proporcione un ejemplo específico.

  • ¿Qué precauciones debe tener en cuenta al mover archivos entre directorios para evitar la pérdida de datos?

  • Después de completar esta actividad, ¿cómo describiría la importancia de las rutas relativas en la gestión diaria de archivos y directorios en Linux?

Actividad 7: Eliminación con Comodines

Objetivo: Eliminar archivos utilizando comodines.

Descripción

Este ejercicio le enseñará cómo usar comodines para eliminar archivos específicos de manera eficiente, una habilidad crucial para la gestión de archivos y la limpieza del sistema.

Pasos

Asumiendo que está trabajando dentro del directorio que contiene Proyecto2:

  1. Eliminar Archivos Específicos:

    Para eliminar todos los archivos dentro de Proyecto2 que comiencen con archivo y terminen con .txt, utilice:

    rm Proyecto2/archivo*.txt
    

    Este comando elimina todos los archivos que coinciden con el patrón especificado, haciendo uso del comodín * para representar cualquier secuencia de caracteres entre archivo y .txt.

Actividad 8: Limpieza de la Práctica

Objetivo: Eliminar una estructura de directorios compleja.

Descripción

Al finalizar una serie de ejercicios, es posible que desee limpiar su espacio de trabajo eliminando la estructura de directorios creada durante la práctica. Este ejercicio demuestra cómo hacerlo de manera eficiente.

Pasos

  1. Eliminar Estructura Completa:

    Para eliminar la estructura completa de Practica, incluyendo todos los proyectos y archivos que contiene, desde su directorio home o cualquier otro directorio, use:

    rm -r ~/Practica
    

    Este comando utiliza la opción -r (recursiva) para eliminar directorios y su contenido de manera recursiva.

Preguntas Finales

  • Después de completar la eliminación utilizando comodines, ¿qué precauciones debe tomar para asegurarse de no eliminar archivos importantes accidentalmente?

  • ¿Que pasaría (¡¡¡no lo pruebe!!!) si usted ejecuta:

    rm -rf ~
    
  • ¿Cómo verificaría los archivos que van a ser eliminados antes de ejecutar el comando de eliminación definitiva?

  • Al eliminar una estructura de directorios compleja, ¿qué método podría usar para confirmar que desea proceder con la eliminación?

Reflexión

  • Es importante comprender completamente los comandos y opciones utilizados al eliminar archivos y directorios, especialmente en contextos donde la recuperación de datos eliminados puede ser difícil o imposible.