Cadenas de texto y filtros [ 1 ]

Una cosa importante en GNU/Linux es conocer las herramientas que nos propone shell,la importancia de sus funciones y el tiempo que esto nos puede ahorrar no tiene desperdicio, ahora otra cosa y no menos importante es el entender y darse cuenta que también se pueden integrar otras funciones del SO para poder aún sacarle otro vaso de jugo al limón, por ejemplo: ya nos aprendimos todas las funciones de Shell Scripting pero no estamos familiarizados con las cadenas de texto, filtros, monitorización del sistema y el hardware que tenemos. Entonces les propongo empezar con las cadenas de texto y filtros para sumar recursos y más adelante seguiremos con otras cuestiones para seguir sacando filo a nuestra navaja suiza. Algunas veces no podemos topar con situaciones donde no nos cuesta hacer un script para saber que IP tenemos en nuestra red local, podemos lanzar un comando <$ ip -a> ó <ifconfig -a> y sin problemas vamos a encontrar lo que buscabamos, la cuestión es que en la salida estándar de éstos comandos no tira mucha información que quizás en ese momento no es de nuestra importancia, en este caso metemos la mano en la galera y recordamos que podemos usar las “cadenas de texto” y los “filtros” para que lleven a cabo esta tarea. Este es un ejemplo de los muchos que podemos tener a diario, para cerrar esta idea que les comento es que teniendo ó sabiendo cuanta herramienta GNU/Linux nos ponga a disposición en nuestra distro favorita nos facilitará mucho las cosas, es muy distinto conocer de antemano la solución al problema que forzosamente aprender durante la marcha.

Teniendo como referencia lo que se explica en www.ibm.com para la certificación profesional en ambientes UNIX y LINUX.

Interconectando con “ | ” [Pipe]

Las salidas estándar de un comando pueden ser la entrada para otro, solo eso nos importa ahora.

Ejemplo: Necesitamos una aplicación para leer ó editar hojas de calculo, sabemos que Libre Office es una de las más conocidas de software libre. El tema está en que dicha aplicación es muy completa y quizás no nos interese instalar todo el paquete completo. Entonces si buscamos libreoffice en nuestra terminal la salida estándar de esto nos llenaría la pantalla, para eso usamos nuestro buen amigo “pipe” y filtramos lo que nos interesa.

# apt-cache search libreoffice | grep calc

libreoffice-calc – office productivity suite – spreadsheet

Lo que hicimos acá es que apt nos muestre que tiene en el caché de los repositorios acerca de libreoffice y con pipe aprovechamos la salida del comando anterior para que nos filtre con “grep” lo que tiene sobre hojas de cálculo.

Redireccionando con “ > ”

Una de las funciones más comunes de éste “signo mayor” es que muchas veces no queremos ver el resultado en nuestra pantalla y por ejemplo lo queremos guardar en un fichero para luego revisarlo o tenerlo como fichero log de algo que estemos monitorizando por ejemplo.

Ejemplo: Queremos saber que dispositivos tenemos conectados en nuestra pc vía USB, entonces mediante el comando dmesg (éste nos muestra variada info de nuestro kernel) y sumando lo antes aprendido con “pipe” y agregando “>” para guardarlo en un fichero nos quedaría de esta manera.

# dmesg | grep -i usb > /home/usuario/info_dmesg_usb.txt

Paso a paso:

* Dmesg no brinda la info.

* “Pipe” nos interconecta para la entrada del siguiente comando.

* Grep es el filtro que utilizaremos.

* Usb es la info que nos interesa.

* “ > ” nos enviará lo que solicitamos a un fichero, en este caso /home/usuario/info_dmesg_usb.txt

Bonus: Otras funciones interesantes de “ > ” es agregando uno más “ >> ” nos agregará al final de un fichero ya creado lo que redirijamos.

También lo podemos mandar al mismisimo agujero negro del espacio ¿Saben como se hace? Muy facil… > /dev/null.

También podremos hacer una salida de errores y porque no usarlo al revés “ < ” pero por el momento lo dejo picando para que sigan buscando.

CD [comando]

CD: (Change Directory) Se usa para cambiar o movernos por directorios.

Sintaxis: cd [directorio | ~ | ./ | ../ | – ]

Opciones: -L (Usar la estructura física del directorio).
-P (Fuerza enlaces simbólicos).

Ejemplos:

1- Tecleando solo “cd” nos lleva al directorio inicial del usuario “home.

$ pwd (¿dónde estoy?)
/etc/apt
$ cd (Enter)
/home/$USER/
2- Ahora a “cd” le agregamos “..” esto nos ayudara volver un directorio.

$ pwd (¿dónde estoy?)
/etc/apt/
$ cd .. (Enter)
$ pwd
/etc

3- Si de ahorrar tipeos se trata “cd” + “~” nos llevara a nuestra home.

$ pwd (¿dónde estoy?)
/etc/apt/
$ cd ~
/home/$USER

4- También podemos dar un destino especifico “cd” + “directorio_donde_quiero_ir“.

cd /home/$USER/Descargas
$ pwd
/home/$USER/Descargas

5- Si queremos regresar al último directorio donde estuvimos “cd” + “

$ pwd
/home/$USER/Descargas
$ cd –
$ pwd
/etc/apt/