Вы находитесь на странице: 1из 8

Sistemas Operativos

Laboratorio 02
Profesora:
Karim Guevara Puente de la Vega
Alumno:
Luna Caldern Angel

UNSA
07. Investigue cual(es) archivos (guiones-script) son los que se ejecutan al momento
de loguearse un usuario. Modifique los que correspondan de forma tal que al ingresar
al sistema, este le d la bienvenida con el mensaje correspondiente segn sea la hora
de inicio de sesin. Utilice el script del ejer. 6.

El archivo a modificar es: .bashrc


Se accede as: Pide la contrasea del administrador.
Luego se abrir el archivo

y se le agrega el cdigo del script del ejercicio 6, con esto cada vez q nos logemos en
modo consola o abramos un terminal nos aparecer un saludo.
08. En el siguiente script:

arreglo[0]=$1
arreglo[1]=$2
arreglo[2]=$3
echo ${arreglo[@]}
shift
arreglo[3]=$1
shift
arreglo[2]=$2
arreglo[1]=$1
echo ${arreglo[@]}

Muestre la salida del script, y explique grficamente el contenido del arreglo utilizado
y las modificaciones del mismo.

Lo que sucede es que cada vez de se utiliza shift, se desplazan los identificadores de
los Argumentos:

antes del 1er shift:


arreglo[0]=$1
arreglo[1]=$2
arreglo[2]=$3
echo ${arreglo[@]}
Antes del primer shift
Argumentos:
$1 $2 $3 $4 $5 $6
1 2 3 4 5 6
Arreglo:
arreglo[0] Arreglo[1] Arreglo[2]
1 2 3

Luego del 1er shift:


shift
arreglo[3]=$1
Argumentos:
$1 $2 $3 $4 $5
1 2 3 4 5 6
Arreglo:
arreglo[0] Arreglo[1] Arreglo[2] arreglo[3]
1 2 3 2

Luego del 2do shift:


shift
arreglo[2]=$2
arreglo[1]=$1
echo ${arreglo[@]}

Argumentos:
$1 $2 $3 $4
1 2 3 4 5 6
Arreglo
arreglo[0] Arreglo[1] Arreglo[2] arreglo[3]
1 3 4 2
09. Explique el siguiente Shell script y de un ejemplo de su funcionamiento

DIRECTORIO=$1
ARCHIVO_BUS=$2
PALABRA=$3
ls $DIRECTORIO | grep $ARCHIVO_BUS | while read ARCHIVO
do
grep $PALABRA ${DIRECTRIO}/${ARCHIVO}
done

ls:
Lista el contenido de los directorios (por defecto ordena la salida alfabticamente).
Su sintaxis es de la forma:
ls [opciones] [fichero...]

Grep:
Busca en la entrada, lneas que concuerden con el patrn dado. Cualquier meta-
carcter con un significado especial debe ser protegido precedindolo con una barra
inclinada inversa (\ ). Algunos patrones de grep se encierran entre '..' (Apstrofos)
para indicarle que no es un meta carcter del shell. Tambin existe en su versin grep
para buscar en archivos comprimido

CODIGO:
#el script recibe tres parmetros un directorio un archivo y una palabra, primero se
lista los archivos que contiene el directorio busca el archivo en la lista, al
encontrarlo se guarda el nombre si el archivo es encontrado busca una palabra en el
archivo y nos imprime las oraciones donde se encuentra dicha palabra.
10. Escriba un Shell script en el cual se determine si un usuario dado est conectado o
no
al sistema.

# Nombre : conectado
for i in $*
do
if who | grep -s $i > /dev/null
then
echo $i est conectado
else
echo $i no est conectado

fi
done

11. Modifique el guion anterior para determinar en cuantas terminales est conectado
un usuario determinado.

# Por cada usuario dado como argumento se


# Comprueba si est conectado o no y se da
# el mensaje apropiado
for i in $*
do
if who | grep -s $i > /dev/null
then
who -uH
echo $i est conectado
else
echo $i no est conectado
fi
done
12. Suponga que a cualquier usuario excepto a root, slo se le permite acceder al
sistema mximo 3 veces. Sino, no se le debe de permitir loguearse. Para cada una de
las veces permitidas se le debe de dar la bienvenida correspondiente de acuerdo a la
hora de ingreso. (ver ejercicio 6 y 7). Escriba un Shell script que realice lo antes
descrito.

13. Escriba un Shell script que muestre el contenido de un directorio determinado


cuyo nombre es enviado por teclado.

#buscar contenido
echo "Ingrese Directorio"
read nombre

so=`locate -l 1 $nombre`
echo el directorio con direccion :$so contiene :
ls $so

14. Modifique un Shell script anterior, de forma que muestre el peso que kb de los
directorios contenidos en un directorio determinado cuyo nombre es enviado por
teclado.
#buscar contenido con tamao
echo "Ingrese Directorio"
read nombre
so=`locate -l 1 $nombre`
echo el directorio con direccion :$so contiene :
du -shc $so/*

Вам также может понравиться