Comandos curiosos en Ubuntu 22.04
La terminal es una herramienta muy poderosa, y es probablemente la parte más importante en sistemas Unix. Aunque disponemos de escritorios (GUI), lo más habitual entre los usuarios de estos sistemas es utilizar la Linea de Comandos (CLI). Entre la gran cantidad de comandos que podemos usar, algunos parecen menos prácticos, pero son curiosos e incluso alguno divertido.
Vamos a ver algunos de ellos en un artículo más lúdico de lo habitual.
Sumario
- cal
- curl wttr.in
- Banner
- figlet
- yes
- espeak
- time cat
- factor
- rev
- aafire
- sl
- cowsay
- ponysay15. fortune
- Cowthink
- fortune
- Oneko
- cmatrix
- w
- toilet
Vamos a echarles un vistazo.
cal
Se trata de un calendario. En alguna distribución ya venia instalado pero en Ubuntu 22.04 lo tenemos que instalar. Se instala con la orden
sudo apt install ncal
La sintaxis es sencilla
cal [ -j ] [ [ mes ] año ]
Para obtener el calendario por la salida de la terminal ejecutamos
cal
Y nos ofrece el mes actual.
Si lo que queremos es el año completo tenemos que ejecutar el comando y añadir el año que deseemos visualizar.
También podemos ver un mes de un año concreto añadiendo como argumentos el mes y el año.
Como curiosidad, con la opción «-j» nos mostrará el calendario juliano (el número de días desde el 1 de enero).
Si ejecutamos el comando «ncal» tendremos más opciones y otro formato. Para conocer más sobre el comando, consulta el manual
man cal
curl wttr.in
Este comando nos ofrece el tiempo en la localidad que indiquemos. Si no tienes la orden «curl» instalada lo puedes hacer con
sudo apt install curl
La sintaxis es como sigue
curl wttr.in/ciudad
Banner
Esta orden nos permite mostrar un banner en tamaño grande en nuestra terminal. Lo podemos utilizar, por ejemplo, para introducir un aviso o mostrar el nombre en un script. Lo instalamos con el comando
sudo apt install sysvbanner
La sintaxis es
banner texto
Consulta el manual con
man banner
FIGlet
FIGlet imprime la entrada usando caracteres grandes (llamados «FIGcharacters») formado por caracteres de pantalla ordinarios (llamados «subcaracteres»). La salida de FIGlet generalmente recuerda el tipo de «firmas» que mucha gente le gusta poner al final de los mensajes de correo electrónico y UseNet. También recuerda a la salida de algunos programas de banner.
FIGlet puede imprimir en una variedad de fuentes, tanto de izquierda a derecha como de derecha a izquierda, con los caracteres FIG adyacentes intercalados y «comprimidos» en variadas maneras. Las fuentes FIGlet se almacenan en archivos separados, que se pueden identificar tipificado la extensión «.flf». En sistemas con soporte UTF-8, FIGlet puede también admitir fuentes TOIlet «.tlf». La mayoría de los archivos de fuentes FIGlet serán almacenados en el directorio de fuentes predeterminado de FIGlet en «/usr/share/figlet/fonts/».
Lo instalamos con
sudo apt install figlet # version 2.2.5-3, o sudo apt install toilet # version 0.3-1.4 (fuentes)
La sintaxis es
figlet [ -f ruta a la fuente ] [ cadena a imprimir ]
Consulta el manual con
man figlet
yes
Este comando repite hasta el infinito la cadena de caracteres que introduzcamos como argumento. Para detenerlo tienes que presionar «Ctrl + C», o se ejecutará para siempre.
La sintaxis es
yes [cadena a imprimir]
Por ejemplo,
yes weblinus, tu web de Linux
No te olvides de presionar Ctrl + C para detenerlo, o se ejecutará indefinidamente.
Este comando nos puede resultar de utilidad cuando ejecutamos un script que nos va a solicitar muchas veces confirmación. Por ejemplo, el comando
yes y /ruta_al_script
nos dará una «y» cuando un mensaje del script nos solicite una respuesta de «y / n».
Consulta el manual con
man yes
espeak
El comando «espeak» nos permite introducir una cadena de texto como argumento y el equipo lo leerá. Es un sintetizador de voz de software multilingüe.
sudo apt install espeak # version 1.48.15+dfsg-3, o sudo apt install espeak-ng # version 1.50+dfsg-10
La sintaxis es
espeak-ng [opciones] [cadena_de_texto]
Después, ejecutamos el comando
espeak "Cadena de texto a leer"
La pronunciación será en inglés por defecto. Podemos añadir un idioma en el fichero «espeak-ng-data/voices». Luego al ejecutar el comando lo haríamos como sigue
espeak -v spanish "Cadena de texto a leer"
Tienes todas las posibilidades de un sintetizador con las opciones que encontrarás en su manual
man espeak-ng
time cat
Con esta combinación de comandos ejecutamos un temporizador, que se ejecuta en segundo plano hasta que lo detenemos. Nos dará información del tiempo transcurrido entre el inicio y el final del proceso. Lo ejecutamos. Para detenerlo «Ctrl+C».
time cat
factor
Este comando descompone el número que introduzcamos por la entrada estandar en factores primos. Esto puede parecer poco relevante pero hay que tener en cuenta que los números primos y su descomposición en factores primos es la base para los procesos de encriptación modernos.
La sintaxis es
factor [NUMERO]... factor OPTION
Consulta el manual con
man factor
rev
La utilidad «rev» copia los archivos especificados en la salida estándar, invirtiendo el orden de los caracteres en cada línea. Si no se especifican archivos, se lee la entrada estándar. Utiliza un búffer de memoria y si el fichero es muy grande, puede fallar.
La sintaxis es
rev [opcion] [fichero...]
Si ejecutamos el comando sin opciones, nos pedirá la entrada que queremos invertir. En este caso para salir teclea «Ctrl + C».
Para invertir el contenido de un fichero, tras la orden pondremos la ruta al fichero. Lo vemos en la siguiente captura.
Consulta el manual con
man rev
aafire
Este programa nos muestra un fuego en la terminal. Un programa curioso…
Instalamos el programa ejecutando
sudo apt instalar libaa-bin
Y lo ejecutamos con
aafire
Para detenerlo Ctrl+C
sl
Con este programa, cuando al introducir la orden «ls» nos equivoquemos y lo pongamos invertido, nos atravesará la pantalla una «Locomotora de vapor».
Lo instalamos con
sudo apt install sl
Y lo ejecutamos
sl
cowsay
Cowsay genera una imagen ASCII de una vaca diciendo algo proporcionado por el usuario. Si se ejecuta sin argumentos, acepta entrada estándar, ajusta el mensaje dado, aproximadamente 40 columnas, e imprime la vaca diciendo el mensaje dado en la salida estándar.
Lo instalamos,
sudo apt instalar cowsay
Para ejecutarlo introducimos la orden y el texto que dirá la vaca.
cowsay texto
Tenemos opciones para combinarlo con «figlet» y varios modos que cambian la apariencia de la vaca dependiendo de su particular estado emocional/físico.
Algunas opciones
- -b inicia el modo Borg;
- -d causas la vaca para aparecer muerta;
- -g invoca el modo codicioso;
- -p provoca un estado de paranoia sobre la vaca;
- -s hace que la vaca parezca completamente drogada;
- -t produce una vaca cansada;
- –w es algo lo contrario de -t;
- -y trae la apariencia de juventud de la vaca.
Si ejecutamos el comando como sigue, veremos unos ojos,
cowsay -f /usr/share/cowsay/cows/eyes.cow weblinus.com
Y veremos un dragón con
cowsay -f /usr/share/cowsay/cows/dragon.cow weblinus.com
ponysay
Este es parecido a «cowsay» pero con un colorido pony. Hay que instalarlo con un paquete snap.
sudo snap install ponysay
Y la sintaxis es la misma
ponysay texto
Cowthink
Este comando es muy similar a cowsay , nos muestra el texto introducido como un pensamiento de la vaca. La sintaxis es la misma.
cowthink texto
fortune
Cuando se ejecuta «fortune» sin argumentos, imprime un epigrama aleatorio. Los epigramas se dividen en varias categorías, donde cada categoría se subdivide en aquellas que son potencialmente ofensivas y las que no lo son.
Lo instalamos con
sudo apt install fortune-mod
Y lo ejecutamos
fortune
Las opciones principales son
- -a Elegir entre todas las listas, tanto ofensivas y no. (Consulte la opción -o para obtener más información sobre fortunas ofensivas.)
- -c Muestra el fichero de cookies desde el cual vino la fortuna.
- -e Considera que todos los archivos de fortuna tienen el mismo tamaño.
- -l Sólo sentencias largas.
- -s limitará la salida a fortunas compuestas por una oración o menos.
Unos ejemplos en la siguiente captura.
Podemos utilizar el comando combinado con «cowsay» para indicar lo que tiene que decir la vaca u otro animal, aleatoriamente.
cowsay -f "$(ls /usr/share/cowsay/cows/ | sort -R | head -1)" "$(fortune -s)"
Consulta el manual
man fortune
Oneko
Este comando agrega un pequeño gato que perseguirá tu cursor (ratón) y si lo alcanza, empieza a dormir. El gato se sale de la terminal y te sigue por el entorno gráfico también. Lo instalamos con
sudo apt install oneko
Lo ejecutamos con
oneko
Pero hay más opciones.
oneko -tora #muestra un tigre oneko -dog #muestra un perro oneko -sakura #muestra a Sakura Kinomoto oneko -tomoyo #muestra a Tomoyo Daidouji
Salir con «Ctrl + C»
Tiene más opciones de configuración. Consulta el manual
man oneko
cmatrix
Como en la famosa película, al ejecutar este comando te saldrá en pantalla una lluvia de caracteres. Instalamos cmatrix con
sudo apt install cmatrix
Y lo ejecutamos con
cmatrix
w
Incluyo este comando por ser el más corto que podemos encontrar en nuestro sistema. «w» nos muestra información sobre los usuarios actualmente logueados en la máquina, y sus procesos. El encabezado muestra, en este orden, la hora actual, cuánto tiempo ha estado funcionando el sistema y cuántos usuarios hay actualmente con sesión iniciada. El sistema carga los promedios de los últimos 1, 5 y 15 minutos.
Puedes consultar el manual de la herramienta
man w
TOIlet
TOIlet imprime texto usando caracteres grandes hechos de caracteres más pequeños. Es similar en muchos aspectos a «FIGlet» y a «banner» con características adicionales como manejo de Unicode, fuentes de color, filtros y varios formatos de exportación.
Lo instalamos con
sudo apt install toilet
Puedes ver las distintas opciones que te ofrece consultando el manual
man toilet
Ejemplos
toilet weblinus toilet -f mono12 -F metal Weblinus
No tienen mucha utilidad estos comando pero son curiosos y alguno divertido. Hay más, como «insult», que te insulta cuando pones la contraseña de sudo mal o introduces mal un comando, «asciiquarium», para ver una pecera en tu terminal, …
¿ conoces alguno más? déjalo en los comentarios y lo añadiremos a la lista.
Si tienes algún comentario que hacer sobre este artículo, al pie del post tienes un formulario para hacerlo.
Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes un formulario más adecuado.
Y para suscribirte y recibir las novedades publicadas, tienes un enlace en el pie de la página o desde aquí mismo.