Herramientas curiosas en la línea de comandos
Loros, vacas, star wars y citas, algunos comandos curiosos en la terminal
Lo que más me ha costado de este artículo es el titular. En todos los artículos en inglés que he leído para ver detalles que me podía olvidar de estos comandos y para descubrir otros comandos la palabra más repetida era “funny”. Mi intención inicial era mostrar cómo desde la línea de comandos y con texto, con caracteres, se pueden hacer cosas que son útiles para nuestro día a día. Por ejemplo, uso mucho figlet
para crear imágenes que acompañen a un artículo; o bien, cuando me dicen que la terminal es “árida”, enseño el telnet de Star Wars; o calendar
, curl
, cal
, bc
… Entonces empecé un listado y el resultado ha ido hacia lo gráfico y no tanto hacia la utilidad. Por tanto el título ha recogido esa acepción de “funny” que es curioso y si encuentro alguna más que encaje aquí lo iré añadiendo y probablemente haya otro artículo con algunas de las mencionadas que no aparecen (calendar
, cal
, bc
o curl
).
De momento han salido figlet
, cowsay
, neofetch
, toilet
, sl
, telnet
, nmap
, party parrot
, fortune
, cmatrix
, emacs butterfly
, rickroll
y rev
.
figlet
¿Quieres hacer titulares con letras chulas en ASCII? Aquí tienes la respuesta, figlet. Tienes dos configuraciones que lo hacen tremendamente simple y poderoso: alineación y tipo de fuente. Para la alineación:
-c
- centrado
-l
- alineado a la izquierda.
-r
- alineado a la derecha
Para la fuente, la opción -f
.
-w
- ancho (widthoutput) en caracteres.
Por ejemplo:
figlet -c -w 100 -f block INFOTICS IN DA HOUSE
|
|
Al ser un comando de bash se puede incluir en su API:
|
|
|
|
cowsay
Lo que dice la vaca está bien dicho:
cowsay "Leyendo infotics.es aprendo mucho"
|
|
También en la API de bash:
|
|
|
|
neofetch
neofetch da información del sistema en una bonita imagen ASCII.
neofetch
toilet
Parecido a figlet, habrá que explorar las fuentes que venían con el paquete toilet-fonts
.
|
|
|
|
sl
Uno de los comandos que antes aprendes de bash es ls
que sirve para listar los contenidos de un directorio. Sobre todo al principio o cuando vas con prisa puedes equivocarte y teclear sl
, y entonces se produce una pequeña sonrisa cuando una locomotora a vapor atraviesa la terminal.
sl
Star Wars
¿Quién no ha visto todavía Star Wars en ASCII? Solo tienes que preparar las palomitas, conectarte por telnet
a towel.blinkenlights.nl
y disfrutar.
nmap
La popular “herramienta de exploración de redes y de sondeo de seguridad / puertos” nmap
tiene una opción para mostrar los resultados denominada s|<rIpt kIddi3
que muestra los caracteres como si unx de ellxs lo hubiera escrito:
|
|
|
|
Party parrot
El party parrot o loro de fiesta que aparece en emoticonos, gifs y sitios varios también tiene su versión en la terminal:
Podemos instalarnos terminal parrot o bien, gracias a parrot live, llamarlo con curl
:
|
|
Incluso hay un loro al estilo de la vaca, lo que dice el loro en parrot say, que está en librería nodejs. El ejemplo que pone me recuerda a fortune
.
fortune
fortune
es un comando bash que recopila citas, dichos, refranes, frases célebres y las ofrece de forma aleatoria. Se suele combinar con cowsay
para darle un aspecto más gráfico:
|
|
|
|
cmatrix
Con cmatrix
se imita el efecto de la película Matrix cuando se “ve” el código de Matrix.
Emacs: butterfly
Comando en Emacs para hacer esto:
|
|
Rickroll terminal
Quien no conozca a Rick Astley, ¡este es su momento! rickrollrc es un script en bash que pone el vídeo (con música) de “Never Gonna Give You Up” con colores ANSI 256 y codificación UTF-8. Impresionante.
|
|
Para que no se lo huelan, mejor el enlace corto:
|
|
rev
El comando rev
invierte las líneas de un fichero si se ofrece un fichero o los caracteres si viene una cadena.
echo "¡Hola, mundo!" | rev
|
|
Por explorar:
Parrot
- https://github.com/matheuss/parrotsay
- https://github.com/hugomd/parrot.live
- https://github.com/jmhobbs/terminal-parrot
Imagen y vídeo
- https://github.com/jart/hiptext
- https://github.com/abishekvashok/cmatrix
- https://github.com/hugomd/ascii-live
rig
Este comando genera identidades aleatorias.