3ª EVALUACIÓN SISTEMAS 1. Formas de ejecutar un shell script. Bash < fichero, bash fichero y dar permiso de ejecución al fichero 2. Visualiza el contenido de todas las posiciones del array hola. echo $ {hola[*]} 3. Diferencia entre variable local y global. ¿Cómo se convierte una variable local en global? Las variables locales no se pueden usar en todas las sesiones mientras que las globales sí. Se convierten mediante la orden export. 4. Qué indican los símbolos siguientes: $?, $$, $!, &# $? → Código de retorno $$ → Devuelve el número de identificación del proceso $! → Devuelve el número de identificación del último proceso ejecutado en background $# → Devuelve el número de parámetros posicionales que le paso a un fichero 5. Qué indican los símbolos siguientes en AWK: $0, $3, NF, NR $0 → Hace referencia a la línea completa $3 → Tercer campo NF → Número de campos que tiene una línea NR → Número de línea 6. Diferencia entre echo “el path actual es $PATH” y echo ‘path actual $PATH’ El primero muestra la frase y el valor del path actual y el segundo muestra la frase tal como está escrita. 7. Listar el directorio actual, ver los usuarios conectados y dejar el resultado en el fichero resul. (ls; who) > resul 8. ¿Qué hace la orden grep Antonio nombres && cat nombres? Si encuentra Antonio, lo muestra y además muestra el fichero nombres. 9. Da las órdenes necesarias para que si la variable vale 1, 2, 3, 4 o 5 se muestre el mensaje hola; si vale 6, 7, 8 o 9 muestre bienvenido y con cualquier otro valor se muestre adiós. case $variable in [1-5]) echo “hola”;; [6-9]) echo “bienvenido”;; *) echo “adiós”;; esac 10. ¿Qué patrones especiales conoces en AWK y para qué sirven? BEGIN → Establecer las cosas que queremos que se hagan antes de leer el fichero de datos END → Se ejecuta después de haber leído el fichero de datos 11. Da la orden para que si el fichero almacén no existe se cree desde consola y si existe se visualice. if test !-e $1 then cat > $1 else cat $1 fi 12. Diferencia entre != y !~ y entre = e = = en AWK != → Distinto !~ → No contiene 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. = → Asigna un valor = = → Compara si son iguales ¿Qué hace orden1; orden2; orden3&? Ejecuta las tres órdenes, pero la tercera en segundo plano. Da las órdenes necesarias para que mientras la variable sea distinta de cero ejecute un bloque de comandos. while test $1 -ne 0 do orden1 orden2 orden N done Diferencia entre break, continue y exit. Break → Se interrumpe el bucle y continúa por la orden siguiente Continue → Ignora las siguientes órdenes y vuelve a ejecutar el bucle Exit → Sale del proceso y vuelve al prompt ¿Qué hace la orden expr (46 + 4) * 3? Nada porque no lleva \*. Debería ser así expr \(46 + 4\) \* 3 Da la orden para poner el permiso de ejecución a file2 si no lo tiene. if test | -x $1 then chmod +x $1 fi ¿Con qué operadores puedes combinar condiciones? &, || , ( ) ¿Qué información tiene el fichero /etc/apt/sources.list? Contiene las distintas estradas en las que apt buscará los paquetes que queramos instalar Visualizar una lista de todos los usuarios que no tienen contraseña. grep ! /etc/shadow ¿Qué hace la orden awk ‘/patrón/ {acción}’ fichero y cuál es el separador de campo? Cada línea que contenga el patrón se ejecuta esa acción. El separador de campo por defecto es el espacio. ¿Qué hace la orden awk ‘/patrón/’ fichero? Imprime la línea que contenga ese patrón ¿Qué hace la orden awk ‘{acción}’ fichero? Esa acción se ejecuta para todas las líneas del fichero. ¿Qué hace la orden h= ‘expr substr $a 5 10’? Almacena en h del quinto carácter diez caracteres en delante de la variable a Tres órdenes que realicen transferencia remota de archivos. wget, ftp y scp ¿Qué hace la orden h= ‘expr index $a $b’? Almacena en h la posición en la que aparece b dentro de a. Si perdemos el gestor de arranque en LinEx, ¿cómo lo recuperamos? Panel de control → sistema → 112 (disquete de emergencia) ¿Qué orden es una versión interactiva de ps? ¿Cuál es la cantidad de memoria libre y usada? 29. 30. 31. 32. 33. 34. 35. 36. 37. top y free ¿En qué fichero puedo ver la línea siguiente: usuario Juan: (root) NOPASSWD: /sbin/halt? En el fichero /etc/sudoers Almacena usando AWK el segundo campo de un fichero, con separador de campo en blanco de nombre hola. awk ‘{hola [NR] = $2}’ fichero ¿Qué hace la orden who | awk ‘{print $1, $3}’? Se ejecuta para todas las líneas y muestra el campo 1 y 3 de la orden who ¿Qué hace la orden set ‘uname -a’? Almacena todos los campos de la orden úname en las variables $1, $2,…, $n Tenemos un fichero libros con la siguiente información: Autor:Título:Editorial. Almacena en un array asociativo el número total de libros de Cervantes. awk ‘BEGIN {FS=”:”} ‘/Cervantes/’ {Cervantes [$1] = Cervantes [$1]+1} END {for (i in Cervantes){ print i, Cervantes [i]} }’ libros Ficheros donde encontramos valores por defecto para crear nuevos usuarios. /etc/adduser.conf y /etc/default/useradd ¿Qué tengo que tener en cuenta para crear el usuario anterior? Para añadir un usuario a un grupo, el grupo debe existir. Ordena secuencia para números pares de 2 a 100 echo `seq 2 2 100` Tres órdenes relacionadas con mensajes. news, write y wall