Trucos Linux para RasPi (3)

Una nueva entrada sobre trucos Linux para aplicar a nuestra RasPi. Los trucos que hoy comentamos son:

(1) AutoLogin, no más passwords al iniciar.

(2) Comandos cal y ncal… jugando con las fechas.

(3) Saber mi IP pública.

(4) Buscando con el comando Grep.

 

Aún más trucos en nuestra Raspberry Pi …


 
 
(1) AutoLogin, no más passwords al iniciar.

Hay veces en que un usuario – por la razón que fuera – prefiere no tener que “logearse” cada vez que la Raspberry se arranca. Para ellos existe una solución: el denominado “auto-login”. Si lo efectuamos conseguiremos que el sistema inicie normalmente pero no precise ya la introducción de los consabidos usuario y password. Para configurar el auto-login solo hemos de efectuar un sencillo paso,  a saber, editar el fichero inittab. Aquí vemos los pasos a seguir:

Abrimos para edición el fichero inittab

 sudo nano /etc/inittab

Localizamos la cadena

 1:2345:respawn:/sbin/getty 115200 tty1

la comentamos en su inicio (con #) para anularla

 #1:2345:respawn:/sbin/getty 115200 tty1

y ahora añadimos debajo de ella una línea nueva

 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1

y ya salimos guardando (Ctrl-X + S + <Enter>)

Por último, reiniciamos la Raspberry y al volver a arrancar ya estará lista

sudo reboot


 
 
(2) Comandos cal/ncal … jugando con las fechas.

Uno de los comandos que a mi siempre me ha parecido más curioso dentro del sistema operativo Linux es el comando cal. En principio, este comando – junto con ncal – nos mostrará en el terminal la información relativa al calendario. Lo curioso es que el comando tiene una llamativa presentación a la vez que ciertas posibilidades de uso bastante interesantes… así que vamos a ver su potencia con unos ejemplos.

Si ejecutamos el comando cal directamente, la respuesta será algo como esto. ¿Muy visual, verdad?…

pero parece que, en este caso, el comando nos devuelve la semana empezando en Domingo (formato anglosajón), pues para forzar a que nos indique el Lunes como primer día ejecutaremos el comando alternativo ncal de la forma :  ncal -MC

Pero el comando ncal admite varias posibilidades añadidas, como ejemplo, vamos a pedirle que nos muestre el calendario completo para el año 2012 mediante ncal 2012 -MC

Queda claro que variando el parámetro del año podremos visualizar el calendario anual que nos apetezca. Si, por ejemplo, queremos ver el mes de marzo de 2013 teclearemos ncal 3 2013 -MC

Y ahora supongamos que para organizarnos queremos ver el mes de marzo de 2013 y los meses previo y posterior al mismo. Pues tecleamos ncal 3 2013 -MC -3

En el caso de que necesitemos ver – por ejemplo – el mes de febrero de 2013 pero con sus semanas asociadas, teclearemos ncal 2 2013 -M -w (el número de la semana aparecerá en la zona inferior)

Y ya por último, y en tono más lúdico, si queremos saber que día era el de nuestro nacimiento…. supongamos que nacimos el día 5 de enero de 1980. Podemos averiguar que día fue con solo ejecutar:  ncal 1 1980 -MC


 
 
(3) Saber mi IP publica.

Cuando queremos conocer la IP privada ( red local ) de nustra Raspberry sabemos que el comando ifconfig -a nos la mostrará, pero saber cual es la IP pública, con la que nuestra Raspi es detectada más alla del router es ya harina de otro costal…

Existen – gracias al servicio prestado por varias páginas – opciones variadas para saber nuestra IP pública. Por ejemplo, si estamos usando un navegador en modo gráfico podemos ir a la página de adslayuda y elegir la opción cual es mi ip que aparece en el menú de la derecha …

pero si lo que queremos es saber la IP pública desde el terminal, podemos usar cualquiera de estos dos comandos:

Comando 1 : curl ifconfig.me/ip

Nota: Si curl no estuviera instalado en nuestra RasPi

podemos instalarlo ejecutando sudo apt-get install curl

o bien

Comando 2 :  wget -O – -q icanhazip.com


 
 
(4) Buscando con el comando Grep.

En Linux, como en casi cualquier otro sistema operativo, existen comandos para localizar ciertas cadenas en determinados ficheros. Uno de los comandos más potentes de Linux ( y en general de cualquier sistema *nix) es el comando grep.

Y como nada es mejor que un buen ejemplo, vamos a utilizar un fichero de texto plano para poder explicar algunas de las opciones de grep. En este caso, usaremos uno de los ficheros creados para nuestro curso de programación en lenguaje C (edad.c),  y que se encuentra – como es lógico – en la carpeta /home/pi/curso/ . Así que primero nos situamos en la carpeta y luego mostramos lo que el fichero contiene (usamos el comando more), lo que nos sirve de punto de partida para practicar con grep.

Un uso simple de grep sería el utilizado para localizar las cadenas existentes en el fichero y que sean (por ejemplo) : “2012”, para lo cual ejecutaré  grep “2012” edad.c. Vemos que nos devuelve una única línea ya que la cadena 2012 solo existe una vez en el fichero.

Si ahora decidimos localizar -por ejemplo- la cadena “int” y, además, que nos indique el número de línea donde se localizen dichas cadenas, ejecutamos: grep “int” edad.c -n

Ahora decidimos que queremos saber cuantas líneas del fichero edad.c no contienen el carácter “;”, que como sabemos está en casi todas los finales de línea de un programa en C. Para ello introducimos el parámetro de búsqueda inversa (esto es, no coincidencia) y que se escribe como -v, por lo que el comando será: grep “;” edad.c -n -c

Y por último, vamos a utilizar el comando grep direccionando la salida resultante a un fichero. En este caso suponemos que necesitamos el listado numerado de líneas que comienzan por “printf”, por lo que ejecutamos:  grep “printf” edad.c > lista_printf.txt


  Bitcoin Currency Converter
Amount of BTC to convert
To currency:
1BTC =