Curso de Linux N03. Tuberías (Pipelines), grep, sort, env, printenv, bash.
Cordiales Saludos

Tuberías (Pipelines)
Involucra dos comandos, donde la salida del primer comando es la entrada del segundo comando. Lo logramos interponiendo entre comandos el sígno: |, la barra vertical de nuestro teclado.
Repasemos nuestro conocimiento para entender mejor. Notemos que la salida estandar del comando history es nuestra pantalla, por medio del terminal. Ejecutamos history y automaticamente nos lo muestra.
rafael@HP:~$ history
1 clear
2 date
3 cal
4 pwd
5 whoami
6 clear
7 history
rafael@HP:~$
Ya hemos visto que podemos enviar esa salida a un archivo por medio de > o >>.
rafael@HP:~$ history >> registro.txt
rafael@HP:~$
rafael@HP:~$ cat registro.txt
1 clear
2 date
3 cal
4 pwd
5 whoami
6 clear
7 history
8 history >> registro.txt
rafael@HP:~$
rafael@HP:~$
Tomemos en cuenta que > conecta un comando con un archivo, en cambio | conecta la salida del primer comando con la entrada del segundo comando.
Por ejemplo: Con history | less estamos enviando la salida del comando history a la entrada del comando less.
rafael@HP:~$
rafael@HP:~$ history | less
less es muy potente para revisar textos grandes, en esta oportunidad entramos a less con la salida de history con poca información a manera referencial para entender el ejemplo.



Recordemos que para salir de less es con la letra q.
En mi twitter coloque el comando dmidecode -t 17 para revisar la memoria RAM presente en nuestro equipo. Como la salida del comando: dmidecode -t 17 es demasiada larga, lo dividí para las primeras 27 lineas con:
sudo dmidecode -t 17 | head -n 27
Y para las ultimas 24 lineas use:
sudo dmidecode -t 17 | tail -n 24

grep
Con el comando grep encontraremos patrones de texto dentro de un archivo o varios archivos. Veremos a continuación algunas opciones:
En el siguiente ejemplo buscaremos la palagra date dentro del archivo registro.txt con: grep date registro.txt



Existen muchas opciones con grep que de seguro seguiremos viendo a medida que avancemos en este curso.
sort
sort permite ordenar alfabéticamente las lineas de un archivo.
Crearemos el archivo lista.txt para el siguiente ejemplo.



env y printenv
Los comandos env y printenv nos permiten ver las variables de entorno de nuestro sistema operativo. Como el archivo es muy grande lo dividí con el comando: env | head -n 24 para las primeras 24 lineas.
env | head -n 24


IMPORTANTE: Los comando vistos aquí y en próximas publicaciones están limitados para mostrarlos y conceptuelizarlos para nuestro quehacer diario. Cada comando tiene muchas opciones que debemos investigar por nuestra propia cuenta cuando estemos trabajando con ellos. Aprovechemos el internet para conocer en profundidad el comando que estemos estudiando y en primer orden no olvidemos lo potente y todo lo que nos brinda el comando man para conocer la sintaxis y todo lo relacionado con todos los comandos que tenemos en nuestro sistema sin recurrir a internet.

{1}
Comenzaremos a hacer pequeños programas en Bash para poner en práctica todo los comandos en linux que hemos aprendido.
Es una buena forma de practicar y acercarnos a los lenguajes de programación. Bash está muy vinculado a linux ya que nos permite sacarle el mayor provecho a todo lo que estamos aprendiendo, nos sorprenderá todo lo que podemos hacer con unas simples lineas de códigos dentro de un script creado en Bash.
Comencemos...
Shebang, hash-bang o sharpbang (#!)
El shebang nos permitirá hacer la llamada al interprete de bash para que se pueda ejecutar el script creado por nosotros. Esta llamada la haremos colocando al comienzo de nuestro Script: #!/bin/bash
En la lista de Shells mostradas, observamos la ruta donde se encuentra el Shell que nos interesa y con el que trabajaremos: /bin/bash

Distintas formas de ubicar nuestro Shell: /bin/bash
Con echo
rafael@HP:~$ echo $SHELL
/bin/bash
rafael@HP:~$
Con env y printenv
rafael@HP:~$ env | head -n 1
SHELL=/bin/bash
rafael@HP:~$
rafael@HP:~$ printenv SHELL
/bin/bash
rafael@HP:~$
rafael@HP:~$ printenv | head -n 1
SHELL=/bin/bash
rafael@HP:~$
rafael@HP:~$
Nuestro primer Script en Bash
Lo crearemos en esta oportunidad con cat, de la siguiente manera.
cat > bash_01.sh
Escribiremos nuestro programa:
#!/bin/bash
echo "Uno de los primeros programas en Bash"
echo "Todo un Exito"
Para salir de cat haremos la combinación "Ctrl + d".
Para verificar lo que escribimos y visualizar nuestro script:
cat bash_01.sh
Para ejecutarlo anteponemos el comando bash delante del nombre del script.
bash bash_01.sh


Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...
Comments (3)
https://twitter.com/1038814762719739904/status/1647744495994241026 The rewards earned on this comment will go directly to the people sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

Has sido curado por @visualblock / You've been curated by @visualblock Bienvenidas delegaciones / Delegations welcome [Encuentra nuestra comunidad aquí / Find our community here](https://discord.gg/tGuctbfYKN) [Trail de Curación / Curation Trail](https://hive.vote/dash.php?trail=visualblock&i=1)Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!
Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).
You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.