Thread View: es.comp.os.linux.programacion
3 messages
3 total messages
Started by Carmelo
Sat, 10 Jun 2006 08:24
Elercicios PERL y BASH
Author: Carmelo
Date: Sat, 10 Jun 2006 08:24
Date: Sat, 10 Jun 2006 08:24
53 lines
3594 bytes
3594 bytes
Alguien podria explicarme como hacer estos ejercicios_ Ejercicio 1 Supongamos que un PC bajo Linux tiene dos discos duros: uno de ellos es el disco de trabajo, y el otro se usa solo para mantener una copia de seguridad. Se trata de escribir un programa en bash que haga el mantenimiento de la copia de seguridad del segundo disco. El programa se llamará "actualizaBackup", y tendrá dos argumentos: a) el sistema de ficheros, o el directorio, cuya copia se va a actualizar, y b) el directorio en que esta montado el segundo disco. Por ejemplo: actualizaBackup /home /disco2 El programa comparará las fechas del fichero original y la copia, modificando la copia si tiene una fecha anterior. Esta operación se hará para todos los ficheros bajo el directorio indicado. Finalmente, se debe explicar cómo se utilizaría el comando cron para que esa actualización se ejecute automáticamente una vez por semana (leer man cron). Ejercicio 2 Escribir un programa, pensado para el administrador, que produzca la siguiente información sobre los usuarios del sistema: usuario (UID) directorio home espacio seguridad ----------------------------------------------------------------- alberto (464) /home/alberto 845495K laura (0) /alumnos/laura 711K UID=0 monitor (462) /home/monitor 882212K PASSWD El apartado de seguridad estará en blanco, salvo si se da alguno de estos casos: · El user id es cero (mensaje: UID=0) · la información sobre password en /etc/passwd es "!" o "*" (mensaje: PASSWD) Ejercicio 3 El fichero ~/.netscape/bookmarks.html contiene las direcciones web marcadas como bookmarks por un usuario de netscape (~ representa su directorio home). A menudo, algunas de estas direcciones dejan de ser válidas. Se trata de escribir un programa en Perl que compruebe todos los bookmarks de un usuario, e informe sobre aquellas direcciones que ya no son válidas (ya no existen). El programa se llamará "compruebaBookmarks", tendrá como argumento el nombre completo del fichero de bookmarks que se desea comprobar, y la salida será parecida a ésta: cea-linux@mycomputer:~$ compruebaBookmarks ~/.netscape/bookmarks.html Las siguientes direcciones no son válidas: http://www.uned.es/convocatorias.html http://www.redhat.es/3.2/index.html Para realizar la comprobación de que una dirección está operativa, se usará el comando wget (ver man de este comando).
Re: Elercicios PERL y BASH
Author: Javier M Mora (jamarier)
Date: Sat, 10 Jun 2006 08:57
Date: Sat, 10 Jun 2006 08:57
24 lines
1915 bytes
1915 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Carmelo escribi�: > Alguien podria explicarme como hacer estos ejercicios_ Si tienes dudas puntuales sobre algunos aspectos de los ejercicios, intentar� ayudarte seg�n mis conocimientos. Pero hacerte ejercicios de clases (por otro lado bastante sencillos) no creo que sea lo mejor para nadie. Los ejercicios incluyen algunas pistas dentro. Donde dice:�leer man ___� deber�as lo primero leer dicho manual. Sabiendo lo que tienes a tu disposici�n, ser� m�s f�cil determinar que tienes que hacer t� (el resto). atte. javier m mora -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFEiolfpRHCj3lPPYMRAij5AJ9Nbjhu47S815x44E3Z5YyJeGWXzwCeOqPg K4KbuEb5a543GfZ4YaaD6RE= =LHqB -----END PGP SIGNATURE-----
Re: Elercicios PERL y BASH
Author: Jesús M. Navarro
Date: Wed, 14 Jun 2006 22:44
Date: Wed, 14 Jun 2006 22:44
114 lines
6417 bytes
6417 bytes
Hola, Carmelo: Carmelo escribi�: > Alguien podria explicarme como hacer estos ejercicios_ Parece sencillo. > Ejercicio 1 > Supongamos que un PC bajo Linux tiene dos discos duros: uno de ellos es > el disco de trabajo, y el otro se usa solo para mantener una copia de > seguridad. Se trata de escribir un programa en bash que haga el > mantenimiento de la copia de seguridad del segundo disco. El programa > se llamar� "actualizaBackup", y tendr� dos argumentos: a) el sistema > de ficheros, o el directorio, cuya copia se va a actualizar, y b) el > directorio en que esta montado el segundo disco. Por ejemplo: > > actualizaBackup /home /disco2 Aqu�, lo que tienes que hacer es estudiar c�mo se maneja Bash con la entrada de par�metros, de forma que tu script pueda tomarlos y utilizarlos adecuadamente. > > El programa comparar� las fechas del fichero original y la copia, > modificando la copia si tiene una fecha anterior. Esta operaci�n se > har� para todos los ficheros bajo el directorio indicado. Bueno, aqu� tendr�s que buscar la forma de invocar alg�n programa externo, o alg�n "built in" de Bash para que te "expanda" el primer par�metro, y as� saber cu�les son los elementos de los que realmente habr� que hacer copia. Despu�s, tendr�s que ver c�mo averiguar la fecha de �ltima modificaci�n de un fichero o directorio y c�mo comparar fechas, para poder comparar la de �ltima modificaci�n en el disco de origen y en el elemento del mismo nombre (si existe) en el disco de copia. Si el elemento en el disco de origen tiene una fecha de �ltima modificaci�n m�s "joven" que el elemento equivalente en el disco, o si no hay elemento equivalente en el disco, tendr�s que hacer la copia. > > Finalmente, se debe explicar c�mo se utilizar�a el comando cron para > que esa actualizaci�n se ejecute autom�ticamente una vez por semana > (leer man cron). Pues se lee uno la p�gina man de cron y se miran ejemplos que uno ya tenga en su sistema en los sitios indicados por dicha p�gina man, y se responde la pregunta. > Ejercicio 2 > Escribir un programa, pensado para el administrador, que produzca la > siguiente informaci�n sobre los usuarios del sistema: Esto de "pensado para el administrador" quiere decir: 1/ Que uno puede asumir (aunque no estar�a de m�s comprobarlo), que lo va a ejecutar 'root'. 2/ Que es un "dirty hack", que no necesita ser "a prueba de tontos", por lo que te puedes evitar la mayor parte de las comprobaciones de seguridad, en la presunci�n de que el administrador del sistema sabe lo que se hace. > usuario (UID) directorio home espacio seguridad > ----------------------------------------------------------------- > alberto (464) /home/alberto 845495K > laura (0) /alumnos/laura 711K UID=0 > monitor (462) /home/monitor 882212K PASSWD > > El apartado de seguridad estar� en blanco, salvo si se da alguno de > estos casos: > � El user id es cero (mensaje: UID=0) > � la informaci�n sobre password en /etc/passwd es "!" o "*" > (mensaje: PASSWD) No indicas el lenguaje en el que deber� ser procesado. En todo caso, PISTA: tanto 'getent' como el fichero /etc/passwd contienen la informaci�n que necesitas. > Ejercicio 3 > El fichero ~/.netscape/bookmarks.html contiene las direcciones web > marcadas como bookmarks por un usuario de netscape (~ representa su > directorio home). A menudo, algunas de estas direcciones dejan de ser > v�lidas. Se trata de escribir un programa en Perl que compruebe todos > los bookmarks de un usuario, e informe sobre aquellas direcciones que > ya no son v�lidas (ya no existen). Necesitar�s un bucle que sea capaz de encontrar todas las URLs de ese fichero (tendr�s que comprobar si es m�s c�modo utilizar expresiones regulares, o posiciones del fichero) y luego, bien abrir un canal manualmente para comprobar la respuesta del servidor en el otro extremo, bien revisar CPAN para encontrar herramientas que te faciliten la labor, bien usar utilidades externas (como curl) para facilitar el trabajo. > > El programa se llamar� "compruebaBookmarks", tendr� como argumento el > nombre completo del fichero de bookmarks que se desea comprobar, y la > salida ser� parecida a �sta: > cea-linux@mycomputer:~$ compruebaBookmarks ~/.netscape/bookmarks.html En este caso tendr�s que hacer algo equivalente a lo del ejercicio primero pero para Perl: averiguar c�mo procesar par�metros pasados a un script Perl. > > Las siguientes direcciones no son v�lidas: > > http://www.uned.es/convocatorias.html > http://www.redhat.es/3.2/index.html > > Para realizar la comprobaci�n de que una direcci�n est� operativa, > se usar� el comando wget (ver man de este comando). Mira: ya te dicen que tendr�s que optar por la tercera posibilida: echar mano de utilidades externas, �si es que te lo dan todo hecho! En fin, espero que mi mensaje te ayude: los ejercicios te pueden resultar un poquito pesados, pero comprobar�s que son f�ciles.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads