miércoles, 20 de junio de 2018

Prueba Linux.

Iniciándonos en la programación shell.

Ejercicios sencillos propuestos en la prueba 20-6-2018.

  1. Realiza un script que te pida por teclado el NIF en este formato (FORMATO: 00000000A), y luego te muestre solo el numero en una línea y a continuación la letra en otra línea.
  2. Realiza un script que devuelva todos los números comprendidos entre dos números enteros que se le pasen como parámetros. Se tiene que comprobar que se le pasan dos números y que el primero es menor que el segundo, en casos contrarios mostrar un error.
  3. Programa que dado un nombre de grupo determine si existe en el sistema, y si es así, presente su nombre, número de grupo (GID), y lista de usuarios que pertenecen a él.
  4. Realiza un script que te muestre todos los parámetros que le pases, excepto si es una ”c” que no la muestre y si es una “f” que finaliza el programa.
  5. Hacer un programa que muestre por pantalla las tablas de multiplicar de todos los números pares.

lunes, 18 de junio de 2018

Introducción programación shell. Parte III Comando For.

Comando for:

dos formas de sintaxis:
Primera:
for var in lista
    do 

    done
Segunda:       
for(( variable=valor; condicion; incremento ))
for((i= 0;i<=valor;i++))
do
comando
…
done
Ejemplo:

Programa un script que me pida un numero por teclado y me muestre todos los números desde el 1 hasta el numero introducido.

read -p “Introduce un numero” numero
for(( i=0; i<= $numero; i++ ))
do
echo -e “$i \n”
done

con la otra sintaxis

read -p “Introduce un numero” numero
for var in $(seq 1 $numero)
do
echo -e “$var \n”
done

Realiza un script que me devuelva la tabla de multiplicar del numero que tu quieras.

read -p “Introduce un numero” numero
for(( i=1; i<=10; i++ ))
do
echo `expr $numero \* $i`
done

con la otra sintaxis

read -p “Introduce un numero” numero
for var in $(seq 1 10)
do
echo `expr $numero \* $var
done

Realiza un script que me devuelva la tabla de multiplicar del numero que tu quieras, pero solo de los números pares.

read -p “Introduce un numero” numero
for var in $(seq 1 10)
do
if [ `expr $var % 2` -eq 0 ]
then
    echo `expr $numero \* $var`
else
    continue
fi
done

viernes, 8 de junio de 2018

Procesos en Linux I.

Comandos que nos permiten gestionar procesos en Linux.

Ejecuta los siguientes comandos y analiza los resultados:

  1. Cuenta los procesos que están dormidos:
  2. ps -eo stat | grep -wi "S" | wc -l
    ¿Y si quito la báscula "w"?
    
  3. Muestra los nombres de los procesos que están dormidos:
  4. ps -eo stat,command|grep –w –i ‘^S’
    ps –eo stat,command|grep –i ‘^S’ |grep -v “^STAT”
    Observa las diferencias entre los comandos anteriores.
    
  5. Muestra los nombres, el tamaño y el usuario, de los 10 procesos de mayor tamaño, ordenados de mayor a menor:
  6. ps -eo vsz,user,command | sort -k 1 -n -r | head
    ps aux|sort –n –r –k5|tr –s “ “|cut –d” “ –f1,5,11|head
    
  7. ¿Qué hace este comando con la báscula o?
  8. ps -o pid,tty,time,%mem,cmd --sort %mem                   
    
  9. Número de procesos del usuario "pepito":
  10. ps -u pepito|wc -l
    ps -eo user| grep “pepito”|wc -l
    ps aux|grep “^pepito”|wc -l
    
  11. Muéstrame los procesos del usuario ordenados por uso de CPU.
  12. ps -eo user,%cpu|grep “profesor”|sort -k2 
    ¿Puedes hacerlo de otra forma?
    
  13. ¿Se puede personalizar la salida de ps?. Utiliza la variable, PS_PERSONALITY
  14. ¿Qué muestra ps axfj?
  15. Qué hacen estas básculas?:
    top –d 4
    top –o %CPU
    
  16. Ejecuta htop. Diferencias con top.
  17. Muestra todos los proceso del usuario "pepito". Utiliza el comando pgrep. ¿Para qué sirve el comando pgrep?
  18. pgrep -l -u "pepito"
    
  19. Averigua el ID del /bin/bash. Utiliza el comando pgrep.
  20. pgrep -f -x bash
    
  21. Averigua los procesos que están ejecutando tus compañeros de grupo. Utiliza el comando pgrep.
  22. pgrep -l -G grupito