gnuservers.com.ar - Algunos ejercicios para practicar
Preguntas teóricas generales
- ¿Por qué decimos que "Linux" es solamente el kernel del
sistema operativo que utilizamos?
- ¿Qué representa cada una de las columnas que vemos por
pantalla al ejecutar un ls -l?
- Explique porqué no se puede crear un "hard-link" en el
disco rígido, de un archivo que se encuentra en un diskette.
- ¿Que son los meta-caracteres de shell?
¿Para qué se utilizan? Cite algunos ejemplos.
- ¿Cómo se determina en los sistemas UNIX el tipo
de un archivo?
- ¿En qué consiste el dispositivo /dev/tty
- ¿Qué es una variable de entorno? ¿Qué variables
de entorno son heredadas por las aplicaciones que
se ejecutan?
- ¿Cuál es la función principal de un "filtro"?
Cite algunos filtros y su funcionalidad
básica.
- ¿En que consiste una "Expresion Regular". De
algunos ejemplos.?
Ejercicios Prácticos - Básicos
- Además del comando "who" existe otro comando similar: "w".
Utilice el manual del comando "w" para explicar qué significa
la salida que obtenemos al ejecutarlo.
- ¿Que comando debemos ejecutar para crear un symlink llamado "HOWTO", al directorio
"/usr/share/doc/HOWTO/es/HOWTO"?
- Ejecute touch #foo.c, explique lo que sucede.
Ejercicios Prácticos - Archivos, permisos y propiedad
- ¿De qué manera podemos evitar que los otros
usuarios puedan ver el contenido de un
directorio?
- ¿Cómo podemos hacer para que el archivo "ulises" tenga
los siguientes permisos?
- De lectura y escritura, solo para el dueño del archivo.
- De lectura y ejecución para todos los usuarios.
- De lectura para todos los usuarios, y escritura
solo para el dueño del archivo.
- ¿Qué permisos asigna el comando "chmod 755 /bin" ? ¿Por qué, cuando ejecutamos este comando,
nos dice que no poseemos los permisos necesarios?
- Explique qué permisos asignan o desasignan los siguientes
comandos:
- chmod o+r carta
- chmod 755 /bin
- chmod 644 /etc/passwd
- chmod go-rw,a+x agenda
- Sobre el directorio /usr/bin
- ¿Qué tipo de archivos hay en ese directorio?
- ¿Cuáles son los permisos del directorio?
- ¿Cómo se expresan esos permisos en forma octal?
- ¿Por qué el directorio debe tener esos permisos, y no otros?
- Explicar qué sucede cuando queremos cambiar los permisos del directorio
- Sobre el directorio /etc
- ¿Qué tipo de archivos hay en ese directorio?
- Compare y explique los permisos de los archivos /etc/passwd y /etc/shadow
Ejercicios Prácticos - Scripts de Shell
- Cite por lo menos dos maneras distintas de ejecutar un script de shell.
- Crear un script de Shell que monte la diskettera, copie todos
los archivos (incluyendo subdirectorios) de la diskettera a un
directorio que se pase como parámetro, y luego desmonte la
diskettera. (Ayuda: para copiar tambien los subdirectorios, debe
utilizarse un comando recursivo)
- Crear un script de Shell que liste únicamente
los nombres de los directorios que se encuentran a
partir del directorio actual.
- Realizar un script que espere hasta que un
determinado proceso se ejecute. Y cuando ese
proceso se ejecuta, matarlo. (Ayuda: utilizar el
comando killall).
- Crear un script que reciba un directorio como primer parámetro,
y a continuación una lista de archivos. El script debe validar que
los parámetros recibidos sean realmente archivos y luego
copiarlos al directorio recibido.
Ejercicios Prácticos - Filtros
- ¿Qué comando debe ejecutarse para contar la cantidad total de
caracteres contenidos en todos los archivos del directorio actual?
- Realizar un script de Shell que compare dos
archivos (que se reciben como parámetro) y diga por
pantalla cuál de ellos tiene mayor cantidad de
líneas.
Ejercicios Prácticos - Expresiones regulares
- ¿Qué debemos ejecutar para listar todos los archivos que
tienen permiso de lectura, escritura y ejecución para los "otros"?
- Crear un script que lea un archivo de entrada, y guarde en
otro archivo de salida, las líneas que comienzan con una vocal
(mayúscula o minúscula).
Extensión: recibir los nombres de los archivos por parámetros.
- Realizar una expresión regular que concuerde lo
mejor posible con números telefónicos, tanto de
formato internacional como nacional.
Ejemplos de números válidos:
++54-11-4652-8589 ** 4512-8874 ** 43-9856
Ejemplos de números no válidos:
5--8558 ** 4586- ** ++--8759
- El patrón .*@[^.]*\..* ¿Con qué tipo de cadena concuerda? ¿Puede mejorarlo?
- Realice un script que, leyendo el diccionario del sistema, almacene en un archivo
la cantidad de palabras que empiezan con a, las que empiezan con b, las que empiezan con c,
etc.
Esperamos que estos ejercicios te sirvan para practicar. Si estás desesperado y no encontrás la respuesta a alguno en particular,
aquí están las respuestas.