Modifica el archivo saludo anterior de la siguiente forma:
echo hola $1
echo hola $2
echo hola $3
echo El nombre del guión es $0
echo El conjunto de argumentos es $*
Ejecútalo con los argumentos Carlos Lucía “José Pablo” Marta.
a. ¿Qué almacena la variable $3?
b. ¿Qué almacena la variable $0?
c. ¿Qué almacena la variable $*?
d. ¿Qué efecto tienen las comillas dobles?
Crea el siguiente guión shell y llámalo cuenta:
echo “Número $1. Total $*”
shift
echo “Número $1. Total $*”
shift
echo “Número $1. Total $*”
¿Cuál crees que será su salida si lo ejecutas con la línea de órdenes: sh cuenta 1 2 3 4 5?
Pruébalo
Se quiere automatizar la compresión de archivos para usuarios mediante un script.
La orden a ejecutar (comprimir) sigue la sintaxis siguiente:
comprimir directorio_a_comprimir usuario permisos
El script debe realizar las siguientes tareas:
a. Comprimir y empaquetar el contenido del directorio que se pasa como primer
parámetro en un fichero de nombre la fecha seguido del usuario (p.ej.: 14-06-
16alumno.tar.gz)
b. Crear un directorio en el directorio /home del usuario, cuyo nombre es la fecha.
Asignar los permisos pasados como tercer parámetro, que vendrán en código octal, al
directorio creado en b)
c. Copiar el fichero creado en a) en el directorio creado en b)
d. Asignar como propietario del directorio y del fichero al usuario.
e. Escribe una línea en el fichero /var/comprimir.log con el nombre del directorio creado
seguido del nombre del fichero copiado.
ejemplo: comprimir /tmp/office/plantillas gonzalez 644
directorio creado: /home/gonzalez/14-06-16
archivo creado: 14-06-16gonzalez.tar.gz
Permisos asignados al directorio /home/gonzalez/14-06-12 : r w – r - - r - -
Se quiere un script que reciba el nombre de dos usuarios y un nombre de grupo.
El script realiza las tareas siguientes:
Da de alta a los dos usuarios.
Da de alta el grupo.
Agrega los dos usuarios al grupo.
Copia los archivos existentes en /var/users/default (no son archivos existentes del
sistema) en los directorio personales de los usuarios. Una vez copiados, hace que cada
usuario sea propietario de los archivos.
En el archivo /var/users/usraltas va llevando el registro de los usuarios y grupos dados
de alta
En el archivo /var/users/usraltas.err se lleva el registro de los usuarios que no se han
podido dar de alta mediante el script.
En un servidor se tiene en el directorio /home/publico/pub una serie de documentos que van a
utilizar los usuarios que se conecten al servidor.
Se quiere hacer un script para que, cuando un usuario lo necesite, haga lo siguiente:
a. monte un dispositivo en un directorio elegido por el usuario (en el que tiene
permisos),
b. copie todo el contenido del directorio /home/publico/pubs,
c. cambie el propietario y grupo (mismo nombre del usuario) y conceda todos los
permisos de los archivos copiados al usuario y grupo.
d. Escribe una línea en el fichero /var/automontaje.log con el nombre del usuario y el
directorio en que se ha realizado la copia.
La orden de ejecución del script es:
automontaje dispositivo directorio_de_montaje usuario
ejemplo: automontaje /dev/sdc1 /home/c3po/public c3po
Se añade a la máquina virtual un nuevo disco duro, para que se monte automáticamente.
El disco tiene dos particiones que se montan en los directorios /media/sistemas y
/media/aplicaciones. Los sistemas de archivos de estas particiones son ntfs y ext4
respectivamente.
a) Se pide ejecutar las órdenes necesarias para crear las particiones, montar el disco con las
particiones de forma automática en el arranque.
b) Se quiere realizar el apartado a) de forma automática para cualquier tipo de disco y
partición, y que guarda en el archivo /var/montajes/contenido.log el árbol de directorios de la
partición (ls –R) con un script que responde a la orden
montaje formato directorio_montaje partición (el directorio de montaje no existe)
Escribir el script que cumple el enunciado anterior.
Se quiere automatizar la copia de seguridad de las configuraciones del sistema (/etc) para que
se realice cada sábado a las 23:55.
La copia de seguridad se guarda en un fichero comprimido (.tar.gz) en el directorio /var/DDMM-
YYYY donde DD-MM-YYYY es la fecha de realización de la copia de seguridad.
Nota: usar crontab
Se quiere automatizar un script que cada cinco minutos escriba en el fichero
/var/procesos/memusage
Una línea con la hora del mensaje
El PID del proceso que más memoria están usando con el usuario que ha lanzado el
proceso
La jerarquía de procesos del proceso
Una línea de separación
Además, debe comprobar si hay procesos zombies. Registra los procesos existentes en el
fichero /var/procesos/zombies
Una línea con la hora
Los procesos zombies existentes
(se usa la expresión ps -A -ostat,ppid,pid,cmd | grep -e ^[Zz] )