viernes, 10 de mayo de 2019

Ejercicios de Linux

1) Las tablas de multiplicar 1 al 10
2) Los números primos del 1 al 1000
3) Los números perfectos del 1 al 100 (Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos. )
4) Si un número introducido por pantalla es par o impar
5) Haz un algoritmo que saque esto por pantalla después de ejecutar ./piramide_num.sh 4

01
01 02
01 02 03
01 02 03 04

6) Estudia estos ejercicios :

#!/bin/bash
for i in {1..12};do

echo $i

done
echo "********"

for i in $(seq 1  3 20); do

echo $i

done
echo "********"

for i in *;do

echo $i

done
echo "********"



for i in $(ls -lt|tr -s " "|cut -d" " -f9);do

echo $i

done
echo "********"

for i in $*;do

echo $i
done

echo "********"

#ARRAYS#
declare -a array

cont=0
for i in *.txt;
do
array[$cont]=$i
((cont++))
done



echo ${array[0]}
echo ${array[1]}
echo ${array[2]}


echo ${#array[@]}
echo ${array[@]}


======================================


#!/bin/bash

clear
echo "Programado por $USER el $(date +%d-%m-%y)"
sleep 2

while true
do

echo
echo AGENDA TELEFONICA
echo 1.BUSCAR ENTRADA
echo 2.INSERTAR ENTRADA
echo 3.BORRAR TODA LA AGENDA
echo 4.BORRAR ENTRADA
echo 5.MOSTRAR LISTADO
echo 6.VER USUARIOS CONECTADOS
echo 7.VER MÁQUINAS CONECTADOS
echo 8.APAGA EL SERVIDOR 
echo 10.SALIR
read -p "Introduce una opcion:" opcion 

case $opcion in
1)
 clear
  read -p "¿Qué nombre quieres buscar?" nombre
  if $(grep -iw "$nombre" datos.dat>/dev/null)
  then
echo "$nombre está en la agenda"

  else
echo "$nombre no está en la agenda"
  fi
;;
2)
clear
read -p "¿Qué nombre quieres añadir?" nombre telefono
if $(grep -iw "$nombre" datos.dat>/dev/null)
then
  echo "Esta entrada existe"
else
fila=$(cat datos.dat|wc -l)
((fila++))
echo "$fila. nombre:$nombre telefono:$telefono" >> datos.dat
fi
;;

3)
clear
echo -n "¿Está seguro que quiere borrar su agenda[S|N]?"
read contestacion
if [ $contestacion = "S" -o $contestacion = "s" ];then
sed "1,\$d" datos.dat  >datos_new.dat
mv datos_new.dat datos.dat
echo "AGENDA BORRADA"

fi



;;

4)
clear
read -p "¿Qué nombre quieres borrar?" nombre
grep -iv $nombre datos.dat >datos_new.dat
mv datos_new.dat datos.dat

;;
5)
clear
echo -e
echo "LISTIN DE TELEFONOS"
cat datos.dat
;;
6)
clear
cont=0
who|cut -d" " -f1 >usuarios.dat
echo "USUARIOS CONECTADOS:"
  for i in $(cat usuarios.dat|sort -u);do

echo "$cont. $i"
((cont++))

done


;;
7)
clear
cont=0
echo "MÁQUINAS CONECTADAS:"
  for i in $(cat ping.dat);do



if $(ping -c 1 $i |grep -iw "TTL">/dev/null) ;then

echo "$cont. $i MAQUINA CONECTADA"

else
echo "$cont. $i MAQUINA NO CONECTADA"

fi

((cont++))

done


;;
8)
clear




;;
*)
echo -e
echo Saliendo...
sleep 3
exit
esac

done