UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

13.10.2. Gestión de directorios y obtención de información

Plan de trabajo

En la empresa SAUCEM S.L. de la que eres jefe de proyecto se trabaja por grupos. Cada grupo de trabajo debe realizar una serie de proyectos, elaborar un presupuesto, llevar a cabo un conjunto de actividades, etc. Para ello, cada grupo de trabajo debe organizarse estableciendo un conjunto de carpetas o directorios de manera estructurada, y ubicando correctamente sus ficheros en ellas. Así mismo, cada grupo de trabajo debe poder tener mecanismos para obtener información del sistema, y para eliminar algunas carpetas y ficheros cuando sea necesario.

Como jefe de grupo de trabajo en SAUCEM S.L. se te pide que realices una serie de comandos en Linux para crear, y gestionar las carpetas e información del sistema relacionado con tu grupo de trabajo. En concreto, tienes que realizar 3 sub-tareas, que se pasan a detallar a continuación. Es importante que los comandos que vayas ejecutando en cada sub-tarea los vayas poniendo en un fichero de texto, cada comando en una línea, pues al final deberás entregar dicho fichero:

  1. Creación de un conjunto de carpetas y ficheros. En esta tarea debes ejecutar una serie de comandos en Linux para la creación de un conjunto de directorios y ficheros con unos permisos concretos.

    1. Debes crear la estructura de carpetas o directorios que indica la figura, debiendo estar el directorio Grupo_Trabajo debajo de la ruta /home/teleco. Ejecuta la secuencia de comandos necesaria para ello, teniendo en cuenta que la localización inicial del directorio donde te encuentras en el sistema puede ser cualquiera y la secuencia debe funcionar en cualquier caso independientemente del directorio inicial donde te encuentres. Para todo ello, debes utilizar los comandos mkdir y cd. Otro requisito obligatorio es que tienes que utilizar el comando mkdir tanto pasándole una ruta absoluta en uno de los comandos como una relativa en otro de los comandos.

    2. A continuación, debes asignar los permisos adecuados a cada directorio, para que puedas controlar quien accede a dichos directorios y con qué permisos. Todos los directorios deberán tener permisos de lectura y ejecución para los miembros del mismo grupo en Linux, y además permisos de escritura para el propietario de los mismos, y ningún permiso para el resto. Así mismo hay una excepción a esto, para el directorio de Presupuesto, los permisos deben ser de lectura, escritura y ejecución para el propietario del mismo, y ningún permiso para el resto, ya que sólo al jefe de proyecto le estará permitido operar con los archivos de presupuesto. Realiza la secuencia de comandos necesaria para asignar todos estos permisos, teniendo en cuenta que la localización inicial del directorio donde te encuentras en el sistema puede ser cualquiera y la secuencia debe funcionar en cualquier caso independientemente del directorio inicial donde te encuentres. Para todo ello, debes utilizar los comandos chmod y cd. Otro requisito obligatorio es que tienes que utilizar el comando chmod tanto pasándole una ruta absoluta en uno de los comandos como una relativa en otro de los comandos.

    3. Seguidamente, debe crear un fichero descripcion.txt debajo del directorio P1 que incluya en su interior el texto Descripción del proyecto. Para ello, debe utilizar de manera obligatoria el comando echo y la redirección de salida.

    4. Copie el fichero descripcion.txt desde la carpeta P1 hacia las carpetas P2 y P3, de manera que también allí quede presente. Para ello debe utilizar el comando cp.

    5. Copie el fichero descripcion.txt también hacia el directorio de Presupuesto, y al directorio de Comunicacion utilizando el comando cp. A continuación cambie de nombre el fichero que está bajo el directorio Presupuesto para que se llame presupuesto.ax, utilizando el comando mv. Seguidamente reemplace completamente el texto del fichero por el siguiente texto: Fichero de presupuesto. Para ello, otro requisito es que debe utilizar obligatoriamente el comando echo y la redirección de salida.

    6. Mueve el fichero descripcion.txt que está en el directorio Comunicacion, hacia el directorio de Otros, y al mismo tiempo cámbielo de nombre para que se llame otros.txt. Para todo ello, utilice el comando mv. Seguidamente remplace completamente el texto del fichero por el siguiente texto: Otros asuntos. Para ello, otro requisito es que debe utilizar obligatoriamente el comando echo y la redirección de salida.

    7. Utilizando el comando echo y la redirección de salida, modifica los ficheros de “descripcion.txt” que hay debajo de los directorios P1, P2, y P3 , para que incluyan un espacio en blanco y el número 1, 2 o 3 respectivamente, anexados al texto que ya había en el fichero.

    8. Para todos los ficheros que se han ido creando, asigne los mismos permisos que los directorios que los contienen.

    9. Finalmente, ponga toda la secuencia de comandos que ha ido realizando en un fichero llamado creacion.sh con un editor de textos y guárdelo. Debe poner una línea por cada uno de los comandos y en el mismo orden que establecía este ejercicio. Además, añada en la primera línea del fichero el siguiente texto:

      #!/bin/bash

      Asigne permisos de ejecución al nuevo fichero creado. A este nuevo fichero que contiene una secuencia de comandos se le denomina script. Si ejecuta este fichero desde un terminal de comandos con ./creacion.sh, entonces se ejecutarán todos los comandos de una sóla vez en la secuencia establecida. Así, si en un futuro se quiere ejecutar la misma secuencia de comandos tan sólo tendrás que ejecutar el script de esa manera, en lugar de teclear todo comando a comando.

  2. Generación de información.En esta tarea deberá realizar una serie de comandos en Linux para la generación de información sobre la estructura de directorios creada, el contenido de los ficheros y otra información del sistema.

    1. En primer lugar ejecuta el comando date para que se muestre la fecha actual en el sistema.

    2. En segundo lugar, muestra el directorio actual en que te encuentras, que en general puede ser cualquiera. Para ello, utiliza el comando pwd.

    3. Muestra todos los procesos que se están ejecutando en el sistema Linux en ese momento. Para ello, utiliza el comando ps.

    4. Utilizando los comandos cd y ls, muestra la información de los ficheros y subdirectorios que hay debajo de cada una de las 8 carpetas del grupo de trabajo. La información debe mostrar al menos la fecha de creación de los ficheros o/y directorios, su tamaño, así como sus permisos.

    5. Utilizando el comando grep, muestre todos los ficheros que contienen el string de, que estén debajo de algún directorio de la estructura del grupo de trabajo.

    6. Finalmente, ponga toda la secuencia de comandos que ha ido realizando para la generación de información en un fichero llamado informacion.sh con un editor de textos y guárdelo. Debe poner una línea por cada uno de los comandos y en el mismo orden que establecía este ejercicio. Además, añada en la primera línea del fichero el siguiente texto:

      #!/bin/bash

      Asigne permisos de ejecución al nuevo fichero creado.

  3. Borrado de carpetas y ficheros. En esta tarea deberá realizar una serie de comandos en Linux para el borrado parcial de la estructura de directorios, así como de algunos ficheros.

    1. Borra completamente todos los ficheros y directorios que hay por debajo del directorio Proyectos, incluyendo el mismo directorio de Proyectos. Debes hacerlo únicamente utilizando el comando rm.

    2. Seguidamente borra el fichero que hay en la carpeta Otros utilizando el comando rm.

    3. Seguidamente borra el directorio Otros utilizando el comando rmdir. Nota que esto es posible porque ya no hay ningún fichero debajo del directorio Otros.

      Finalmente, ponga toda la secuencia de comandos que ha ido realizando para la generación de información en un fichero llamado borrado.sh con un editor de textos y guárdelo. Debe poner una línea por cada uno de los comandos y en el mismo orden que establecía este ejercicio. Además, añada en la primera línea del fichero el siguiente texto:

      #!/bin/bash

      Asigne permisos de ejecución al nuevo fichero creado.