100 Muy bien! - Universidad de Costa Rica

Anuncio
Universidad de Costa Rica
Escuela Ing Eléctrica
Programación Bajo Plataformas Abiertas
Informe de Laboratorio 2
100
Muy bien!
Profesor: Francisco Siles
Pablo José Cubero Campos
A92049
Primera Parte: Uso del shell en GNU/Linux
2- Ejecutamos los comandos de la imagen.
La primera vez que se ejecuta echo $SALUDO se imprime el valor de la variable $SALUDO, como
esta no tiene un valor asignado no se imprime nada. Luego se le da un valor a la variable
(SALUDO=hola) y ahora si se imprime un valor a la hora de usar echo $SALUDO. Luego con el
comando bash se entra en bash donde la variable no esta declarada por lo que no tiene ningún valor.
Usando exit se sale de bash para luego exportar la variable. Con la variable exportada se puede entrar a
bash y $SALUDO ya va a tener un valor acá.
3- Se declaran las variables y con el comando printenv se ven todas las variables, incluido las
declaradas por nosotros. Si la variable no se exporta el comando printenv no la muestra. Si se cierra la
sesión las variables declaradas se pierden.
4- Para declarar variables de manera que no se borren cuando se cierra sesión se edita el archivo
~/bashrc agregando al inicio del archivo la linea donde se exporta la variable. Luego se guarda y la
variable siempre va a estar aunque se cierre sesión.
pablo@pablo-desktop:~$ echo $SALUDO
hola
pablo@pablo-desktop:~$ cat .bashrc
export SALUDO=hola
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace
5- Usando el comando > y >> vemos como la salida se exporta al archivo, en el segundo caso escribe
en una linea nueva
Lo mismo pasa con los primero 5 comandos.
pablo@Casa-PC:~$ echo Hola Mundo! > hola.txt
pablo@Casa-PC:~$ cat hola.txt
Hola Mundo!
pablo@Casa-PC:~$
Cuando se usa < el archivo de la derecha esta siendo la entrada del comando de la izquierda. Usando
gzip < /etc/passwd > passwd.gz, se esta comprimiendo el archivo. Se dice que se ejecute el programa
gzip con passwd como entrada y que la salida sea passwd.gz. En este caso el uso de < y > no tiene
mucho sentido.
Luego se descomprime el archivo con la notación normal y por medio de la opción -c imprimimos el
archivo descomprimido en stout. En este caso se utiliza, por medio de un pipe, el comando less para
cambiar la forma en la que se va a imprimir el archivo passwd.
Ocurre lo mismo con el siguiente comando.
En el comando cat /etc/passwd | grep root se usa también el pipe para modificar lo que imprimimos y
ver solo los archivos que nos interesan, en este caso los relacionados con root.
pablo@Casa-PC:~$ cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
pablo@Casa-PC:~$
En el siguiente comando se usa el pipe para que wc realice el conteo de lo que debería desplegar cat.
Así wc despliega el conteo de letras, palabras y bytes pero sin poner el nombre del archivo ya que su
entada no es el archivo sino que solo el texto dentro de copyright.
pablo@Casa-PC:~$ cat /usr/share/doc/gcc/copyright | wc
42 330 2207
En el ultimo comando se usa el pipe para grabar la salida en un nuevo archivo y también desplegarlo en
stdout.
pablo@Casa-PC:~$ ls -l /etc/ | tee ls.txt
total 1192
drwxr-xr-x 3 root root
4096 2012-03-19 07:56 acpi
-rw-r--r-- 1 root root
2981 2011-10-12 08:27 adduser.conf
-rw-r--r-- 1 root root
10 2012-03-14 10:56 adjtime
drwxr-xr-x 2 root root 12288 2012-03-20 21:50 alternatives
-rw-r--r-- 1 root root
395 2010-06-20 02:11 anacrontab
.
.
.
pablo@Casa-PC:~$ cat ls.txt
total 1192
drwxr-xr-x 3 root root
4096 2012-03-19 07:56 acpi
-rw-r--r-- 1 root root
2981 2011-10-12 08:27 adduser.conf
-rw-r--r-- 1 root root
10 2012-03-14 10:56 adjtime
drwxr-xr-x 2 root root 12288 2012-03-20 21:50 alternatives
-rw-r--r-- 1 root root
395 2010-06-20 02:11 anacrontab
-rw-r--r-- 1 root root
112 2007-06-22 09:08 apg.conf
drwxr-xr-x 6 root root
4096 2011-10-12 08:28 apm
.
.
.
Segunda Parte: Programación de tareas con cron
1- Se agrega la siguiente linea al crontab
**
* * * root
date >> /tmp/date
Luego se guarda y después de unos minutos en /etc/date aparece lo siguiente:
pablo@Casa-PC:/tmp$ cat date
dom 25 mar 02:23:01 CST 2012
dom 25 mar 02:24:01 CST 2012
dom 25 mar 02:25:01 CST 2012
2- Se edita el crontab igual que en la parte anterior y se agrega la linea. Hay que agregar el comando
sudo y dar permisos a la carpeta para que se logre ejecutar el comando.
pablo@Casa-PC:/root$ cat prueba
Esto es una prueba
pablo@Casa-PC:/root$
Descargar