JULIO 29
Los de bajo nivel son aquellos que se encuentran mas cerca a lo que la maquina entiende, por ende necesitara menos procesamiento ya que su ejecucion sera mas exacta.
Los de alto nivel son aquellos que son mas cercanos al entendimidnto del ser humano, pero tiende a tener problemas y vulnerabilidades puesto que no hay un logico entendimiento entre el lenguaje y la maquina lo que genera que pueda ser modificado facilmente; para evitar este tipo de cosas se utiliza la compilacion que lo que hace es como convertirla en un lenguaje que entienda la maquina. Esto conlleva a que ese programa que ya se ha compilado no pueda ser modificado.
Tambien encontramos otro tipo de lenguaje y es el lenguaje interpretado, este lenguaje no necesita de compilacion, pero al momento de visualizarlo simpre va a estar igual, la maquina de por medio debe tener un programa que haga la interpretacion y ejecucion.
Este es el lenguaje que empezamos a trabajar, ya que es algo "sencillo" y lo podemos hacer en bash, sh (linux), empezando por ejemplos y un par de ejercicios.
Despues de haber terminado con la explicacion coloco algunos ejercicios para aplicar lo que entendimos en clase los ejercicios propuestos fueron:
1. hacer un programa que multiplique y divida los numeros enteros positivos.
SOLUCION
Se realizo de la siguiente manera:
se crea el archivo con el nombre y ruta deseado; terminado en .sh
la primera linea de configuracion debe ser asi:
#!/bin/bash
Se definen las variables que se van a usar en este caso se hara con el comando "read -p " este comando lo que hace es que toma lo que el usuario escribe en pantalla y lo lleva a la variable:
read -p "Introduzca un numero: " A
read -p "Introduzca otro numero: " B
Despues utlizamos el comando let, este realiza operaciones aritmeticas
let 'C=A*B'
let 'd=A/B"
Para que muestre el resultado en pantalla se utiliza el comando "echo" que imprime en pantalla lo que en este caso son los resultados de la operaciones:
echo "la multiplicacion es: $C"
echo "la division es: $D"
Asi estaria por resuelto ese ejercicio.
2. hacer un programa que configure la red, que incluya ip, mascara, DNS, broadcast, gateway.
se inicia de la misma manera el archivo
#!/bin/bash
echo "este es el wizard para configurar la red"
read -p "Introduzca la direccion ip: " IP
read -p "Introduzca la mascara: " MASK
read -p "Introduzca el broadcast: " BRD
read -p "Introduzca la puerta de enlace: " GW
read -p "Introduzca DNS preferido: " DNS
ifconfig eth0 $IP netmask $MASK broadcast $BRD
route add default gw $GW
echo nameserver $DNS >/etc/resolv.conf
echo "OK, la red esta lista para usarse"
Estos ejercicios los realizamos en clase pero dejo unos de trabajo para la casa y esos son:
1. Crear un script que pida al usuario una ruta
#!/bin/bash
echo "buscaba algo??"
read -p "Introduzca la ruta donde se encuentra el archivo: " RUTA
read -p "Introduzca la extension del archivo a buscar: " EXT
find $RUTA -name $EXT | wc -l
echo "este es el listado de los archivos que contienes la $EXT en la ruta $RUTA"
2. Crear un script que pida al root una ruta
#!/bin/bash
read -p "Ingrese la ruta de ubicacion del usuario: " RUTA
read -p "Ingrese el nombre del usuario: " USER
find $RUTA -user $USER | wc -l
echo "Este es el numero de archivos que tiene este usuario actualmente"
3. crear un script que compare dos numeros enteros positivos y diga caule es el mayor de ellos.
NOTA: investigar la sentencia if y esleif
if [ $1 -lt $2 ]
then
echo $1 es menor que $2
else
if [ $1 -gt $2 ]
then
echo $1 es mayor que $2
else
echo $1 es igual que $2
fi
fi