Universidad de Costa Rica | Escuela de Ingeniería Eléctrica IE

Anuncio
Universidad de Costa Rica | Escuela de Ingeniería Eléctrica
IE-0117 Programación Bajo Plataformas Abiertas
100
Laboratorio No. 2
Gabriel Valverde
Primera Parte: Uso del shell en GNU/Linux
1. Usando comandos conocidos, explore las funciones de autocompletado, historial y búsqueda de
comandos del shell, así como las distintas formas de indicar nombre de archivos y directorios.
2. Explore el funcionamiento de las variables de entorno. Ejecute los siguientes comandos
Comando: echo $SALUDO
Salida: no aparece nada
variable: SALUDO=hola
Comando: echo $SALUDO
Salida: hola
Comando: bash
Comando: echo $SALUDO
Salida:no aparece nada
Comando: exit
Comando: export $SALUDO=hola
Comando:bash
Comando: echo $SALUDO
Salida: hola
¿Qué sucede en cada caso? ¿Cuándo no funciona el comando echo y por qué?
Cuando se define una variable de entorno, la misma esta definida en Gnome terminal,
por lo que al darle el comando bash esta arranca una “terminal dentro de otra” por lo tanto como
no se ha definido como una variable global esta nueva terminal no lo vera. Si se ejecuta el
comando export, todas las terminales que se habrán a partir de acá utilizando bash podrán ver el
valor de la variable de entorno.
3. Declare algunas variables usando el comando export. Verifique que la declaración haya sido
exitosa usando printenv. ¿Qué sucede con las variables declaradas si cierra la sesión y la inicia
de nuevo
Cuando se crean las variable de entorno y se cierra la sesión esta borra las variables de entorno
creadas
4. Declare algunas variables usando export, pero esta vez editando el archivo ~/.bashrc (archivo de
configuración de bash para el usuario). Cierre la sesión e ingrese de nuevo. ¿Qué sucede ahora
con las variables.
I- Primero se edita el archivo bash: gedit ~/.bashrc
II- Se agrega en el archivo de texto: export USUARIO=login
III- Salva y exit [cierra la terminal]
IV- cuando se abre la terminal de nuevo: se llama a usuario: echo $USUARIO
V- La salida del comando es: login
5. Explore las redirecciones de entrada y salida y las tuberías usando los siguientes comandos (si
tiene dudas sobre lo que hace alguno de los comandos, consulte la página de manual)
- date > fecha.txt: Mon Mar 19 09:43:01 CST 2012
- date >> fecha.txt: Mon Mar 19 09:43:52 CST 2012
- ls -l /etc/ > dir.txt: Imprime en un archivo de texto el listado de los archivos con sus permisos
de lo que contiene la carpeta etc.
- ls -l /bin/ > bin.txt: Imprime la lista de archivos y permisos del directorio /bin con sus
permisos en un archivo de texto en este caso [bin.txt]
- echo Hola Mundo! > hola.txt: Escribe en un archivo de texto denominado hola.txt, Hola
Mundo!
- gzip < /etc/passwd > passwd.gz: Comprime el contenido del archivo /etc/passwd en un
archivo denominado passwd.gz
- gzip -dc passwd.gz | less: Descomprime el archivo passwd y con el uso del comando less
imprime el contenido en una “pagina de texto” en el terminal, permitiendo al usuario leer el
mismo sin mayores problemas.
- apt-cache search text editor | less: La primera parte: apt-cache search text editor, este
comando lo que hace es buscar editores de texto, al utilizar la tuberia, la salida de esta
busqueda la imprime en pantalla utilizando el comando less.
- cat /etc/passwd | grep root: El comando imprime el contenido del archivo /etc/passwd y la
salida le aplica el comando grep root, que lo que hace es buscar archivo /etc/passwd alguna
linea que contenga la palabra root.
Segunda Parte: Programación de tareas con cron
1. Edite el crontab del usuario y agregue el comando date >> /tmp/date
para que sea ejecutado cada minuto. Espere un par de minutos y compruebe que la acción se
haya efectuado correctamente.
Con el comando sudo gedit /etc/crontab se agrega la linea en azul:
# m h dom mon dow user
command
*/1 * * * * root date >> /tmp/date
Salida:
gabriel@gabriel-PC:/tmp$ cat date
Mon Mar 26 13:42:01 CST 2012
Mon Mar 26 13:43:01 CST 2012
Mon Mar 26 13:44:01 CST 2012
Mon Mar 26 13:45:01 CST 2012
Mon Mar 26 13:46:01 CST 2012
Mon Mar 26 13:47:01 CST 2012
Mon Mar 26 13:48:01 CST 2012
2. Edite el crontab del sistema y agregue el comando que se muestra a continuación para que sea
ejecutado dentro de tres minutos (compruebe la hora del sistema usando el comando date) y
todos los demás días jueves de cada semana a la misma hora. El comando debe ser ejecutado
por el usuario root:
Con el comando sudo gedit /etc/crontab se agrega la linea en azul:
# m h dom mon dow user
command
*/1 * * * * root date >> /tmp/date
*/3 * * * * root echo "Esto es una prueba" > /root/prueba
Salida:
root@gabriel-PC:~# cat prueba
Esto es una prueba
Bibliografía:
“Comandos Linux”, http://dns.bdat.net/documentos/cursos/ar01s14.html, consultado 15 de marzo 2012,
9:30am.
Descargar