Universidad Carlos III de Madrid

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

Arquitectura de Sistemas

Septiembre 2012 - Enero 2013

10. Actividades

10.1. Trabajando en el entorno Linux

10.1.3. Plan de trabajo

  1. Lee el primero de los recursos de la sección anterior.

  2. Considera la estructura de directorios y ficheros que se muestra en la siguiente figura:

    Los óvalos representan carpetas, y los rectángulos ficheros de texto. Arranca tu sistema Linux y abre un terminal de comandos. Con la ayuda de la chuleta de comandos Linux, y ejecutando todos los comandos con el intérprete, realiza los siguientes ejercicios.

    1. En el directorio de usuario crea la misma estructura de carpetas que se muestra en la figura (solo las carpetas). Debes utilizar el comando mkdir varias veces pero debes ejecutarlo sin cambiar de carpeta, es decir, ejecutando los comandos siempre desde la carpeta de usuario /home/teleco (consulta las opciones de mkdir en el manual).

    2. Cambia de directorio en el intérprete de comandos y vete a la carpeta Seccion1. Recuerda que cuando comienzas a escribir el nombre de un fichero o carpeta en el intérprete, la tecla TAB lo completa. Una vez en la carpeta Seccion1 ejecuta desde la linea de comandos el editor kate. Inserta en el fichero la frase Este es el contenido del fichero 1 y guardalo con nombre fichero1.txt tal y como se muestra en la figura.

    3. Repetimos la operación anterior con fichero2.txt pero en lugar de crearlo con el editor primero crea un duplicado de fichero1.txt con nombre fichero2.txt con el comando cp. Abre el nuevo fichero con el editor y modifica el texto para que diga ... del fichero 2.

    4. Repite este último paso, pero ahora tienes que crear los ficheros fichero3.txt y fichero4.txt en la carpeta Seccion2. Ejecuta los comandos pertinentes en el intérprete (creación de duplicado y edición utilizando kate) sin cambiar el directorio de trabajo. Debes, por tanto, utilizar las rutas de los nuevos ficheros de tal forma que reflejen su nueva situación en la jerarquía de carpetas.

    5. Cambia el directorio de trabajo en el intérprete con un único comando para pasar de la carpeta Seccion1 a la carpeta SegundaParte. Ejecuta ahora los comandos necesarios para crear un duplicado de cualquiera de los cuatro ficheros creados hasta ahora y modifica su contenido de manera análoga a como lo has hecho en el apartado anterior. De nuevo, no debes cambiar tu directorio de trabajo. Recuerda que mientras escribes los nombres de los ficheros y los caminos, la tecla tabulador puede ser útil para completar nombres.

    6. Por último, la carpeta Seccion2 no queremos que esté en ese nivel, sino al nivel de las carpetas PrimeraParte y SegundaParte. Por tanto, desde el directorio superior PracticaLinux ejecuta un único comando que mueve la carpeta Seccion2 a su nuevo lugar con nombre TerceraParte.

    7. Lee la página de manual del comando cat y utilízalo para mostrar el contenido de todos los ficheros del apartado anterior por pantalla con un único comando.

    8. Lee la página de manual del comando cp y crea, con un sólo comando, un duplicado del árbol de ficheros con el que has trabajado.

    9. Lee la página de manual del comando rm y borra el duplicado de los ficheros que acabas de crear con un sólo comando.

    10. Lee la página de manual del comando ls y ejecútalo en la carpeta PracticaLinux. Utiliza las opciones -a, -l y -t. Prueba a ponerlas todas juntas y ver el resultado.

    11. Utiliza el comando chmod para cambiar los permisos de un fichero. Prueba a cambiar por separado los de usuario, grupo y resto. Utiliza el comando ls con las opciones pertinentes para ver tus cambios.

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

10.2.1. 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.