Hace un tiempo, escribimos sobre ExplainShell , una herramienta basada en la web para aprender qué hace cada parte de un comando de Linux. Divide los complejos y extensos comandos de Linux en múltiples partes y brinda una explicación para cada parte. Con esta herramienta, un novato de Linux puede aprender sobre varios parámetros y opciones de la línea de comandos sin tener que consultar las páginas de manual. Sin embargo, solo lo ayudará a aprender los comandos de Linux. Pero, ¿qué sucede si desea aprender otros comandos CLI, por ejemplo, Python? No encontrará una explicación de los comandos de Python en ExplainShell. ¡No hay problema! Hoy me topé con una herramienta similar llamada Kmdr que proporciona una explicación de los comandos CLI para cientos de programas. Le ayuda a aprender fácilmente los comandos CLI sin salir de la terminal y sin tener que pasar por largas páginas man. No solo los comandos de Linux, Kmdr proporciona una explicación para muchos comandos CLI, incluido ansible , conda , docker , git , ir , kubectl , mongo , mysql , npm , gemas de rubí , vagabundo y cientos de otros programas como los integrados en bash .
Kmdr puede comprender comandos complejos, largos y subcomandos. También comprenderá los comandos que incluyen canalización, redirección, construcciones de listas y otros operadores y elementos incorporados de bash. Kmdr le brinda la explicación de una amplia gama de programas, herramientas y utilidades que se enumeran a continuación.
- Integrados de Bash Shell (por ejemplo, echo, export, cd).
- Contenedores (por ejemplo, Docker, kubectl).
- Control de versiones (por ejemplo, Git).
- Servidor de base de datos y cliente (por ejemplo, mysql, mongod).
- Implementación/nube (por ejemplo, ahora nube).
- Herramientas de archivo y archivado (por ejemplo, zip, tar).
- Medios (por ejemplo, ffmpeg, youtube-dl).
- Red/Comunicación (por ejemplo, netstat, nmap, curl).
- Administradores de paquetes (por ejemplo, dpkg, pip).
- Lenguajes de programación/entornos de tiempo de ejecución/compiladores (por ejemplo, go, python, node, gcc).
- Administrador de sistemas / Supervisión (por ejemplo, crontab, arriba).
- Procesamiento de texto (por ejemplo, awk, sed).
- Editores de texto (por ejemplo, nano, vim).
- Varios (por ejemplo, openssl, bash, bash64).
Puede ver la lista completa de programas admitidos aquí . Los desarrolladores están agregando más programas todos los días. Esté atento a la lista y revísela de vez en cuando.
Kmdr es una utilidad gratuita de código abierto escrita en Nodejs .
Instalar CLI de Kmdr
Kmdr requiere Nodejs versión 8.x o superior. Si aún no ha instalado Nodejs en su sistema Linux, consulte el siguiente enlace.
- Cómo instalar NodeJS en Linux
Después de instalar Nodejs, puede instalar Kmdr CLI con el administrador de paquetes Npm como se muestra a continuación.
$ npm install [email protected] --global
Kmdr también se puede utilizar directamente desde su navegador web. ¡No requiere instalación ni registro! Simplemente abra su navegador web y navegue hasta el siguiente enlace y proporcione su comando.
- http://demo.kmdr.sh/
Mostrar la explicación de los comandos CLI en la terminal usando Kmdr
¡Obtener la explicación de un comando CLI es fácil! Tome el siguiente comando como ejemplo.
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
Es un poco difícil de entender para los usuarios de Linux novatos e intermedios. Para aquellos que se preguntan, el comando anterior mostrará los comandos más usados. en Linux.
Si desea conocer la explicación de cada parte del comando anterior, inicie Kmdr CLI usando el comando:
$ kmdr explain
Kmdr le pedirá que ingrese su comando. Simplemente escríbalo y presione la tecla ENTER.
Salida de muestra:
? Enter your command: history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5 history With no options, display the command history list with line numbers. | A pipe serves the sdout of the previous command as input (stdin) to the next one awk pattern scanning and processing language {print $2} An argument | A pipe serves the sdout of the previous command as input (stdin) to the next one sort Sort lines of text files | A pipe serves the sdout of the previous command as input (stdin) to the next one uniq Report or omit repeated lines -c, --count Prefix lines by the number of occurrences | A pipe serves the sdout of the previous command as input (stdin) to the next one sort Sort lines of text files -n, --numeric-sort Compare according to string numerical value -r, --reverse Reverse the result of comparisons | A pipe serves the sdout of the previous command as input (stdin) to the next one head Output the first part of files -5 An argument 🤖 Did we help you better understand this command? (Use arrow keys) ❯ Skip & Exit ────────────── Yes No
Obtenga la explicación de los comandos CLI desde la terminal usando Kmdr
Como puede ver en el resultado anterior, Kmdr desglosa cada parte del comando anterior y brinda la explicación de cada parte.
Al final de la explicación, Kmdr le pedirá que comparta sus comentarios. Puede elegir Sí o No utilizando la flecha para enviar los comentarios. Si elige Sí, simplemente escriba los comentarios y presione ENTER. Si no desea compartir los comentarios, simplemente elija "Omitir y salir" para salir de Kmdr. ¡Es así de simple!
Kmdr también comprende varios comandos.
También es posible obtener la explicación de los comandos con opciones agrupadas.
$ kmdr explain ? Enter your command: rsync -avz --exclude 'ostechnix' dir1/ dir2/ rsync A fast, versatile, remote (and local) file-copying tool -a, --archive This is equivalent to -rlptgoD. -v, --verbose This option increases the amount of information you are given during the transfer. -z, --compress With this option, rsync compresses the file data as it is sent to the destination machine,which reduces the amount of data being transmitted -- something that is useful over a slow connection. --exclude This option is a simplified form of the --filter option that defaults to an exclude rule anddoes not allow the full rule-parsing syntax of normal filter rules. ostechnix An argument dir1/ An argument dir2/ An argument 🤖 Did we help you better understand this command? (Use arrow keys) ❯ Skip & Exit ────────────── Yes No
He dado ejemplos simples. Puede probar todo tipo de comandos complejos que incluyen canalización, redirección, subcomandos, operadores, etc.
Lectura sugerida:
- ¡Busque, estudie y practique los comandos de Linux sobre la marcha!
- ¡Aprende y practica comandos de Linux en línea GRATIS!
- Pon a prueba tus habilidades BASH jugando juegos de línea de comandos
- Aprenda a usar las páginas man de manera eficiente
Después de probar un par de comandos, noté que Kmdr no tiene una opción para ingresar comandos adicionales. Tuve que salir de Kmdr y luego volver a abrirlo e ingresar otro comando nuevamente. Podría ser mejor si me permite agregar otros comandos sin tener que volver a ejecutar "kmdr explicación" cada vez. Aparte de este problema menor, Kmdr funcionó bien en mi sistema Ubuntu 18.04.
Actualización:
Este problema se ha solucionado en la última versión de Kmdr. El kmdr v0.2 le permite buscar comandos continuamente sin la necesidad de volver a ingresar "kmdr explicación" cada vez.
El cliente CLI de Kmdr es muy nuevo y aún se encuentra en una etapa inicial. Espero que los desarrolladores lo mejoren agregando más funciones en los próximos días. Pruébelo y comparta sus opiniones en la sección de comentarios a continuación.