El artículo que voy a dejar hoy es algo que a mucha gente le puede venir muy bien. Se trata de la herramienta Kmdr CLI y la encontré por casualidad en el página de Ostechnix. Como está en inglés pero me parece muy interesante y guarda relación con un artículo que escribí en esta web sobre ExplainShell, vamos a echarle un vistazo rápido.
Se trata de una herramienta basada en la web para aprender qué hace cada parte de un comando Gnu/Linux. Esta herramienta divide los comandos complejos y largos de Gnu/Linux en varias partes y da una explicación para cada una de ellas.
Esta herramienta nos va a ayudar a aprender fácilmente los comandos de la CLI sin salir del terminal y sin tener que pasar por largas páginas de manual. No solo los comandos de Linux, Kmdr proporciona una explicación de muchos comandos de la CLI, incluidos ansible, conda, docker, git, go, kubectl, mongo, mysql, npm, ruby gems, vagrant y cientos de otros programas, como los que están integrados en bash.
El único problema que noté durante la prueba que hice con Kmdr es que no tiene una opción para consultar más de un comando. El programa te hace salir de Kmdr y luego volver a abrirlo para poder escribir otro comando. Esto es quizás el único problema que le he encontrado (obviando que solo está en inglés) y que si se corrigiese podría ser mejorar el programa. Como digo, además de este pequeño problema, Kmdr funcionó perfectamente en mi sistema Ubuntu 18.04.
Kmdr puede comprender comandos complejos, largos y las opciones de estos. También comprenderá los comandos que incluyen tuberías, redireccionamiento, construcciones de listas y operadores. Kmdr nos va a ofrecer la explicación de una amplia gama de programas, herramientas y utilidades que se enumeran a continuación:
- Bash Shell Builtins (por ejemplo, export, echo, cd).
- Contenedores (por ejemplo, kubectl, Docker).
- Herramientas de archivo y archivo (por ejemplo, zip, tar).
- Editores de texto (por ejemplo, nano, vim).
- Administradores de paquetes (por ejemplo, dpkg, pip).
- Control de versiones (por ejemplo, Git).
- Servidor de base de datos y cliente (por ejemplo, mysql, mongod).
- Medios (por ejemplo, youtube-dl, ffmpeg).
- Red / Comunicación (por ejemplo, netstat, nmap, curl).
- Procesamiento de texto (por ejemplo, awk, sed).
- Lenguajes de programación / Entornos de tiempo de ejecución / Compiladores (por ejemplo, Go, node, gcc).
- Sysadmin / Monitoring (por ejemplo, crontab, arriba).
- Varios (por ejemplo, openssl, bash, bash64).
Se puede ver la lista completa de programas compatibles aquí. Los desarrolladores están agregando más programas todos los días.
Instalar Kmdr CLI
Kmdr requiere Nodejs versión 8.xo superior. Es una utilidad gratuita de código abierto escrita en Nodejs.
Después de instalar Nodejs, podemos instalar Kmdr CLI con el administrador de paquetes Npm como se muestra a continuación:
npm install kmdr@latest --global
Kmdr también se puede usar directamente desde el navegador web. No requiere instalación ni registro.
Mostrar la explicación de los comandos de la CLI en la terminal utilizando Kmdr
¡Obtener la explicación de un comando CLI es fácil! Vamos a tomar el siguiente comando como ejemplo:
history | awk '{print $2}' | sort | uniq -c | sort -nr
Si desea quisiésemos la explicación de cada parte en el comando anterior, tendremos que iniciar Kmdr CLI usando el comando:
kmdr explain
Kmdr nos va a pedir que escribamos el comando. Simplemente escríbelo y pulsa Intro.
Como puede ver en el resultado anterior, Kmdr desglosa cada parte en el comando anterior y da la explicación de cada una.
Al final de la explicación, Kmdr nos pedirá que compartamos nuestros comentarios. Puede elegir Sí o No usando la flecha para enviar los comentarios. Si no queremos compartir un comentario, simplemente elije ‘Saltar y salir’ para salir de Kmdr.
También es posible obtener la explicación de los comandos con opciones agrupadas. Además podemos probar todo tipo de comandos complejos que incluyen tuberías, redirección, subcomandos, operadores, etc. He probado ejemplos simples también con buen resultado.
El cliente CLI de Kmdr es muy nuevo y todavía está en la etapa inicial. Espero que los desarrolladores lo mejoren agregando más funciones. Se puede obtener más información acerca de este programa en la página web del proyecto o en su página de GitHub.