Centro de Informática.
Sistemas Operativos II (UNIX), Curso 1997.

2a. prueba de evaluación. RESOLUCION.


Escribir comandos o interconexiones para resolver las situaciones que se indican. Cada pregunta vale 4 puntos.

1. Un archivo acceso.log de registro de accesos de usuarios a un sistema UNIX, genera un renglón por acceso, el primer campo es el nombre del usuario, y los campos están separados por ":". Escribir comandos que muestren el nombre de cada usuario y la cantidad de accesos registrados, en orden alfabético.

cat acceso.log | cut -d: -f1 | sort | uniq -c

2. Extraer del archivo acceso.log las líneas correspondientes al usuario jperez del mes de mayo del año 1997. La fecha figura en el formato "1300 15 Mayo 1997"; el primer número es la hora.

cat acceso.log | grep jperez | grep Mayo

3. Extraer del archivo acceso.log las líneas que correspondan al usuario jperez o al usuario elopez.

cat acceso.log | egrep "jperez|elopez"

4. Un archivo de nombres NoMBreS.tXT es tal que un mismo nombre puede estar en mayúsculas y minúsculas, mezcladas y de diferentes maneras. Generar una lista de nombres en minúscula con los 7 nombres que aparecen menos veces, sin importar como estén escritos.

cat NoMBreS.tXT | tr [a-z] [A-Z] | sort | uniq -c | \

sort -nr | head -7

5. Un archivo palabras.txt contiene palabras distintas una por línea. Extrar todas las palabras que empiecen y terminen con vocal, en minúscula o mayúscula.

cat palabras.txt | greo "^[aeiouAEIOU].*[aeiouAEIOU]"

6. Escribir comandos para realizar las siguientes tareas:

- actualizar fecha y hora del archivo LEAME, sin alterarlo.

touch LEAME

- cambiar la contraseña propia.

passwd

- trasladarse al directorio propio sin escribirlo.

cd

- invocar el editor vi en sólo lectura del archivo LEAME.

vi -R LEAME

7. Usando el archivo /etc/passwd,

- extraer una línea que muestre directorio propio y shell del usuario elopez.

cat /etc/passwd | grep elopez

- listar los usuarios que usan el shell /bin/bash.

cat /etc/passwd | grep /bin/bash

- listar los usuarios que no usan el shell /bin/bash.

cat /etc/passwd | grep -v /bin/bash | grep -v '#'

- contar la cantidad de usuarios

cat /etc/passwd | grep -v '#' | wc -l

Recordar que el archivo /etc/passwd suele tener comentarios, y que # puede ser interpretado por el shell.

8. Realizar las tareas siguientes:

- deshabilitar recepción de mensajes, verificar que así quedó.

mesg n; mesg

- indicar la ruta completa del comando UNIX nslookup.

which nslookup

9. Escribir comandos para ingresar como superusuario, cambiar el archivo /etc/group hacia el grupo adm, salir de superusuario.

su; chgrp adm /etc/group; exit

10. Presentar el archivo /etc/passwd con formato de página de largo 23 líneas, margen de 8 espacios y encabezado por la leyenda "Usuarios del Sistema".

cat /etc/passwd | pr -o8 -l23 -h "Usuarios del Sistema"

UNIX - 1