Todo en mi vida profesional cambió cuando empecé a trabajar en una compañía de tecnología. Cuando digo que todo cambió, lo digo muy en serio.
Venía de trabajar en un startup más enfocada en procesos de ingeniería química y energías renovables. Muy innovadora sí, pero la parte de desarrollo software no era el “core” o en centro del producto. Fue así que el primer día trabajo en la nueva empresa me dieron un portátil con sistema operativo Debian GNU/Linux.
Hasta ese momento todo mi vida había usado Windows y lo que recordaba de Linux eran ese par de lecciones de informatica que vi en primaria, ymedio recuerdo el LibreOffice, los juegos y que Linux tenía un pingüino en el logo. En ese momento también me enfrentaba a código serio y profesional en Python y nunca había usado GitHub, solo para que se hagan una idea.
Bueno y para no hacerles el cuento más largo claramente tenía que cumplir mis funciones como ingeniero de energía y el idioma que se manejaba en la empresa era Sueco, y si me explicaban los wildcards, los comandos en la terminal y a hacer git pull and cherry picks en otro idioma.
People se puede, con horas extra de estudio, con mucha resiliencia y un corazón dispuesto aprender, les aseguro que se puede. Por esta razón decidí también hacer el curso de “Introducción a la Terminal y Línea de Comandos”.
Ahora si el tutorial…
Acá les cuanto cómo hice para entender este tema y que a mi parecer es de lo más mejor que podemos aprender para manejar la terminal como un profesional y al mismo tiempo poner en práctica varios comandos.
Primero que todo debemos saber com qué herramientas contamos para encadenar comandos, para este fin existen algunos operadores:
comando_1; comando_2; comando_3
comando_1 | comando_2 | comando_3
comando_1 & comando_2 & comando_3
comando_1 && comando_2 && comando_3
comando_1 || comando_2 || comando_3
¡Ahora a la práctica!
Ejemplo 1
Este tipo de encadenamientos nos permite por ejemplo crear un directorio, luego ingresar este directorio, allí crear un archivo de texto y finalmente abrirlo en la terminal para editarlo:
mkdir dir_test; cd dir_test && touch my_file.txt && cat my_file.txt
Ejemplo 2
Incluso puedes crear alias muy útiles que te ahorraran trabajo para comando que usas continuamente en tus proyectos. Aquí un ejemplo de como crear un back-up o copia de respaldo de un directorio y luego comprimirlo.
alias backup-dir="tar -czf backup.tar.gz /path/to/directory && mv backup.tar.gz /path/to/backup/location || echo 'Backup failed'"
Ejemplo 3
Busca un patron o palabra en un archivo, luego ordena las líneas alfabeticamente y finalmente visualiza el resultado de forma enumerada. En este caso buscaremos la palabra “ERROR” únicamente en archivos .log con ayuda de wildcards y seguidamente el resto de comandos como te muestro acontinuación:
grep'ERROR' *.log | sort | nl
Conclusión
Podríamos escribir comando por comando, enviando instrucciones separadas a la terminal y está muy bien. Pero de la misma forma que cuando empezamos a aprender otro idioma debemos empezar a escribir oraciones más complejas más nativas y eficientes, así mismo debemos ver la línea de comandos.
Esta habilidad nos hará más profesionales y lo más importante podremos optimizar nuestro tiempo. Nuestra mente podrá crear nuevas relaciones y ejecutar procesos más complejos e interesantes.