Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
clase:daw:si:2eval:tema13 [2021/01/03 18:54] admin |
clase:daw:si:2eval:tema13 [2021/02/05 18:36] admin [grep] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== 13. Scripts avanzados en Linux ====== | ====== 13. Scripts avanzados en Linux ====== | ||
+ | En este temas vamos a ver usa serie de órdenes que se usan concatenadas usando una tubería '' | ||
+ | Mas información: | ||
+ | * [[https:// | ||
- | ==== grep ==== | ||
- | | + | ===== grep ===== |
- | * [[http://www.esdebian.org/ | + | |
+ | | ||
+ | * [[https://rm-rf.es/unix-expresiones-regulares/|Unix: Expresiones regulares]] | ||
* [[http:// | * [[http:// | ||
<sxh bash> | <sxh bash> | ||
#Mostrar la linea del usuario root del fichero ''/ | #Mostrar la linea del usuario root del fichero ''/ | ||
- | cat /etc/passwd | grep " | + | cat /etc/passwd | grep -E " |
</ | </ | ||
<sxh bash> | <sxh bash> | ||
#Filtrar los nombre de los ficheros | #Filtrar los nombre de los ficheros | ||
- | ls | grep " | + | ls | grep -E " |
</ | </ | ||
- | ==== cut ==== | + | * Expresiones regulares |
+ | |||
+ | ^ Expresion ^ Significado ^ Ejemplo ^ Explicación Ejemplo ^ | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | ===== cut ===== | ||
* [[http:// | * [[http:// | ||
Línea 23: | Línea 40: | ||
<sxh bash> | <sxh bash> | ||
- | # | + | # |
cat /etc/passwd | grep " | cat /etc/passwd | grep " | ||
</ | </ | ||
- | ==== wc ==== | + | <sxh bash> |
+ | #Mostrar desde el 3º caracter hasta el 10º caracter del fichero pero solo los que empiecen por " | ||
+ | cat / | ||
+ | </ | ||
+ | |||
+ | <sxh bash> | ||
+ | #Mostrar desde el 3º caracter hasta el final del fichero pero solo los que empiecen por " | ||
+ | cat / | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== wc ===== | ||
* [[https:// | * [[https:// | ||
Línea 37: | Línea 65: | ||
+ | <sxh bash> | ||
+ | #Contar el número de palabras del '' | ||
+ | cat fichero | wc -w | ||
+ | </ | ||
+ | |||
+ | <sxh bash> | ||
+ | #Contar el número de bytes del '' | ||
+ | cat fichero | wc -c | ||
+ | </ | ||
+ | |||
+ | <sxh bash> | ||
+ | #Contar el número de caracteres del '' | ||
+ | cat fichero | wc -m | ||
+ | </ | ||
+ | |||
+ | |||
+ | <note tip> | ||
+ | La diferencia entre contar bytes o caracteres es que en UTF-8 , a veces , un carácter son varios bytes. | ||
+ | |||
+ | <sxh bash> | ||
+ | echo -n a | wc -c | ||
+ | 1 | ||
+ | echo -n á | wc -c | ||
+ | 2 | ||
+ | echo -n a | wc -m | ||
+ | 1 | ||
+ | echo -n á | wc -m | ||
+ | 1 | ||
+ | |||
+ | </ | ||
- | ==== sed ==== | + | </ |
+ | ===== sed ===== | ||
* [[https:// | * [[https:// | ||
Línea 87: | Línea 146: | ||
==== Ejercicio 3 ==== | ==== Ejercicio 3 ==== | ||
- | Haz un Script llamado " | ||
- | |||
- | |||
- | ==== Ejercicio 4 ==== | ||
Haz un script llamado '' | Haz un script llamado '' | ||
Línea 96: | Línea 151: | ||
- | ==== Ejercicio | + | ==== Ejercicio |
Haz un Script llamado " | Haz un Script llamado " | ||
Línea 107: | Línea 162: | ||
La memoria libre del sistema es de 69 MB | La memoria libre del sistema es de 69 MB | ||
- | ==== Ejercicio | + | ==== Ejercicio |
Haz un script llamado " | Haz un script llamado " | ||
- | + | ==== Ejercicio | |
- | ==== Ejercicio | + | |
- | ps y kill | + | |
- | + | ||
- | * Muestra todos los procesos del sistema | + | |
- | * Ejecuta la orden " | + | |
- | * En otra terminal muestra los procesos y verás que está el proceso " | + | |
- | * Haz que solo se muestre el pid y nombre del proceso de " | + | |
- | * Ahora mata el proceso. | + | |
- | + | ||
- | ==== Ejercicio 8 ==== | + | |
Haz un Script que muestre el siguiente mensaje: | Haz un Script que muestre el siguiente mensaje: | ||
Línea 130: | Línea 175: | ||
- | ==== Ejercicio | + | ==== Ejercicio |
- | Haz un Script llamado " | + | Haz un Script llamado " |
- | ==== Ejercicio | + | ==== Ejercicio |
Haz un Script llamado " | Haz un Script llamado " | ||
El % de uso del proceso con PID 3456 es 45 | El % de uso del proceso con PID 3456 es 45 | ||
Línea 139: | Línea 184: | ||
- | ==== Ejercicio | + | ==== Ejercicio |
Haz un Script que dado un PID de un proceso: | Haz un Script que dado un PID de un proceso: | ||
Línea 148: | Línea 193: | ||
Si la prioridad (nice) es mayor que 0 que muestre: | Si la prioridad (nice) es mayor que 0 que muestre: | ||
Prioridad baja | Prioridad baja | ||
+ | |||
+ | Deberás validar que se le pasa un argumento al script. | ||
+ | |||
+ | ==== Ejercicio 10 ==== | ||
+ | Haz un Script llamado " | ||
+ | |||
+ | Tendrá un único parámetro que deberá valer alguno de los siguientes: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | Deberás validar que se le pasa un argumento al script. | ||
+ | |||
+ | ==== Ejercicio 11 ==== | ||
+ | Haz un Script llamado " | ||
+ | * Cree sea carpeta | ||
+ | * Que ese usuario tenga permisos sobre esa carpeta | ||
+ | |||
+ | Deberás validar que se le pasa un argumento al script. | ||
+ | |||
==== Ejercicio 12 ==== | ==== Ejercicio 12 ==== | ||
- | Haz un script llamado | + | Modifica el ejercicio anterior para añadir |
- | También ejecuta el Script de forma que toda su salida por consola se guarde en el fichero " | ||
- | | ||
- | | ||
==== Ejercicio 13 ==== | ==== Ejercicio 13 ==== | ||
+ | Haz un Script llamado " | ||
+ | |||
+ | |||
+ | Deberás validar que se le pasa un argumento al script. | ||
+ | |||
+ | |||
+ | ==== Ejercicio 14 ==== | ||
+ | Dado un fichero llamado '' | ||
+ | |||
+ | NumFactura, | ||
+ | 1, | ||
+ | 2, | ||
+ | 3, | ||
+ | |||
+ | Y suponiendo que en linux existen los usuarios a los que hace referencia '' | ||
+ | |||
+ | Crea un script llamado " | ||
+ | * El primer parámetro siempre será el número de la factura | ||
+ | * El segundo parámetro puede valer alguno de los siguientes | ||
+ | * ANYO_FACTURA : Mostrará el año de la factura | ||
+ | * BASE_IMPONIBLE: | ||
+ | * IMPORTE_TOTAL: | ||
+ | * NOMBRE: Mostrará el nombre completo del cliente. El nombre se debe sacar del fichero ''/ | ||
+ | |||
+ | Deberás validar que se le pasan 2 argumentos al script y que el segundo de ello tiene un valor válido. | ||
+ | | ||
+ | ==== Ejercicio 15 (OPTATIVO) ==== | ||
Servidor web con la calidad del aire de la ciudad | Servidor web con la calidad del aire de la ciudad | ||
Línea 178: | Línea 268: | ||
* Desde Windows navega al servidor y veras los datos | * Desde Windows navega al servidor y veras los datos | ||
- | ==== Ejercicio | + | ==== Ejercicio |
Modifica el ejercicio anterior para mostrar también la gráfica del Óxidos de nitrógeno (NOx) y dióxido de nitrógeno | Modifica el ejercicio anterior para mostrar también la gráfica del Óxidos de nitrógeno (NOx) y dióxido de nitrógeno | ||
| | ||
{{: | {{: | ||
- | ==== Ejercicio | + | ==== Ejercicio |
Haz un Script, llamado calida_aire_png.sh que generará la gráfica de un parámetro de la calidad del aire. | Haz un Script, llamado calida_aire_png.sh que generará la gráfica de un parámetro de la calidad del aire. | ||
La gráfica debe mostrar el nombre de la zona, lo que está mostrando y las unidades. (tal y como hemos visto en las anteriores gráficas) | La gráfica debe mostrar el nombre de la zona, lo que está mostrando y las unidades. (tal y como hemos visto en las anteriores gráficas) |