sábado, 28 de octubre de 2017

Programación de Script Linux IX - Conversor decimal a binario


En este vídeo tutorial vamos a ver un ejemplo de un script que funcionará como conversor de números enteros a números binarios. Veremos también como comprobar mediante una expresión si una cadena corresponde a un número o no y como utilizar bucles while para realizar este tipo de tareas.

Vídeo anterior          Vídeo siguiente

miércoles, 25 de octubre de 2017

Programación de Script Linux VIII - Utilizando funciones en nuestros scripts


Con este tutorial en vídeo, aprenderemos a utilizar las funciones en nuestros Scripts. Las funciones nos van a permitir mejorar y aclarar nuestro código, haciéndolo más sencillo de depurar y analizar.



domingo, 22 de octubre de 2017

Como copiar en Linux archivos ocultos

En alguna ocasión nos vemos en necesidad de copiar los archivos de un directorio incluyendo los ficheros ocultos, es decir, los que comienzan con punto (.)

Los que han utilizado el terminal en Windows o DOS podrían pensar que una solución sería:

cp -r ./.*  ../destino


La realidad en Linux es que esto no funciona. Los archivos que comienzan con un punto son especiales y no los encontrará aun especificándolo de esta forma. Para que nos coja la expresión con el punto, debemos ejecutar el comando especificando que queremos que comience con un carácter punto de la siguiente forma:

cp -r ./\. ../destino

Es decir, le indicamos que copie de forma recursiva ( -r ) todos los ficheros del directorio actual ( ./ ) que comiencen incluyendo los que comienzan con un punto ( /. ) en el directorio de destino, en nuestro caso ( ../destino).
A priori podríamos pensar que no nos copiara los archivos que no comiencen por punto, pero la realidad es que con ese punto le estamos indicando que copia todo.

miércoles, 18 de octubre de 2017

Programación de Script Linux VII - Los bucles for en formato C


Con este vídeo intentaremos aclara dudas sobre el uso de los bucles for y el formato que utilizan cuando usamos su forma en formato de programación en C. 

lunes, 16 de octubre de 2017

Programación de Script Linux VI - Usando sentencias While y Until


En este tutorial veremos como utilizar sentencias While y Until para realizar un menú que permanezca en pantalla mientras le indiquemos opciones válidas y finalizará el script al seleccionar la opción de salida del menú.

Video anterior          Video siguiente

sábado, 14 de octubre de 2017

Cambiar las IP de mi red tipo NAT en VirtualBox

En modo NAT, VirtualBox (VB) coloca un router entre el exterior (hacia donde hace NAT) y el invitado. Dicho router posee un servidor DHCP que sirve hacia el interior. Este router mapea el tráfico desde y hacia la Maquina Virtual (MV) de forma transparente. Cada MV en modo NAT tendrá su propio router, por lo que estarán en redes aisladas, lo que implica, que por defecto, las MV que tienen su tarjeta de red en modo NAT no pueden verse entre sí.

La dirección que el router sirve va a depender del número del adaptador de red que esté configurado en modo NAT. Las 8 tarjetas de red que VB permite a cada MV se enumeran del 0 al 7, y las direcciones de red de los routers son por defecto del tipo 10.0.x+2.0/24, donde x es el número del adaptador de red (10.0.2.0/24, 10.0.3.0/24, ..., 10.0.9.0/24). La dirección IP para la tarjeta de red es la 10.0.x+2.15 (y sucesivas para interfaces virtuales en GNU/Linux) y para el router la 10.0.x+2.2.

Puede que sea interesante cambiar la numeración anterior motivado por el problema que estemos resolviendo en un momento dado, y para hacerlo es necesario usar la línea de comando con la orden VBoxManage de la siguiente manera:

VBoxManage modifyvm "Debian Wheezy 32b" --natnet1 192.168.0.0/16

Con la orden anterior, el adaptador de red número 0 (--natnet1) de la MV denominada Debian Wheezy 32b, si lo configuramos en modo NAT, utilizará la red 192.168.0.0/16, por lo que la IP de la tarjeta de red será la 192.168.0.15 y la puerta de enlace la 192.168.0.2.

lunes, 9 de octubre de 2017

Programación de Script Linux V - Creando usuarios de forma masiva


En este ejemplo, crearemos un Script que nos creará una serie de usuarios a partir de un fichero de texto con la información de los mismos. Para realizarlos, tendremos que aprender a comprobar si un fichero existe o no, si el usuario que ejecuta es root o no y tiene o no los permisos necesarios o tendremos que recorrer un fichero de texto en el que está la información de los usuarios e ir extrayendo cada uno de los campos con los datos del usuario.

domingo, 8 de octubre de 2017

sábado, 7 de octubre de 2017

Programación de Script Linux III - Las variables de cabecera y las variables internas


En este vídeo tutorial, veremos como usar dentro de nuestros scripts linux las variables y como paserle valores de variables a través de la línea de cabecera en la llamada.

viernes, 6 de octubre de 2017

Programación de Script Linux II - Interactuando con el usuario y usando variables I


En este vídeo, vamos a aprender a aprender a manejar variables dentro de nuestro Script y a interactuar con el usuario haciendo que introduzca valores que utilizará en su funcionamiento.

miércoles, 4 de octubre de 2017

Conocer cuantos números enteros hay en un fichero

En ocasiones cuando realizamos scripts en linux, necesitamos saber si un parámetro es un número o no para poder depurar errores.
Una de las formas mas sencillas es utilizando una comprobación de patrones mediante el comando grep.

En este ejemplo, vamos a crear un archivo llamado lineas.txt que contendrá lineas con textos y números.

Para conocer el número de líneas que contienen números, habrá que realizar una llamada mediante la línea de comandos de la siguiente forma:

grep -c '^[0-9]\+$' lineas.txt

Este comando nos devolverá el número de lineas que corresponden con números enteros positivos dentro del fichero lineas.txt. 
El parámetro -c le indicará a grep que nos devuelva el número de coincidencias en lugar de el texto coincidente.
A continuación nos encontramos con la expresión ^[0-9]\+$ entrecomillada. En esta expresión regular indicamos que busque una cadena que comience, indicado mediante ^, con un carácter en el intervalo [0-9] es decir, un dígito. Además le indicamos que este dígito aparece 1 o muchas veces, esto se indica mediante los caracteres \+, y por último con el carácter dolar $ le indicamos que también acabe con un dígito. 

Basándonos en este ejemplo, podemos crear un Script que reciba como parámetro un número y nos devuelva 1 o 0 en función de si es o no un número.