Qualche tempo fa abbiamo scritto su ExplainShell , uno strumento basato sul Web per imparare cosa fa ogni parte di un comando Linux. Divide i comandi Linux complessi e lunghi in più parti e fornisce spiegazioni per ciascuna parte. Usando questo strumento, un principiante di Linux può conoscere vari parametri e opzioni della riga di comando senza dover fare riferimento alle pagine man. Tuttavia, ti aiuterà solo ad imparare i comandi di Linux. Ma cosa succede se vuoi imparare altri comandi CLI, ad esempio Python? Non troverai la spiegazione dei comandi Python in ExplainShell. Nessun problema! Oggi mi sono imbattuto in uno strumento simile chiamato Kmdr che fornisce la spiegazione dei comandi CLI per centinaia di programmi. Ti aiuta ad apprendere facilmente i comandi CLI senza lasciare il terminale e senza dover passare attraverso lunghe pagine di manuale. Non solo comandi Linux, Kmdr fornisce spiegazioni per molti comandi CLI tra cui ansible , conda , mobile mobile , git , vai , kubectl , mongo , mysql , npm , gemme di rubino , vagabondo e centinaia di altri programmi come quelli integrati in bash .
Kmdr può comprendere comandi complessi, lunghi e secondari. Comprenderà anche i comandi che includono piping, reindirizzamento, costrutti di elenchi e altri incorporati e operatori di bash. Kmdr ti fornisce la spiegazione di un'ampia gamma di programmi, strumenti e utilità come elencato di seguito.
- Incorporati di Bash Shell (ad es. echo, export, cd).
- Contenitori (ad es. Docker, kubectl).
- Controllo versione (ad es. Git).
- Server di database e client (es. mysql, mongod).
- Deployment/Cloud (ad es. ora cloud).
- Strumenti di archiviazione e archiviazione (ad es. zip, tar).
- Media (es. ffmpeg, youtube-dl).
- Rete/Comunicazione (es. netstat, nmap, curl).
- Gestori di pacchetti (ad es. dpkg, pip).
- Linguaggi di programmazione/ambienti runtime/compilatori (es. go, python, node, gcc).
- Sysadmin / Monitoraggio (ad es. crontab, in alto).
- Elaborazione del testo (ad es. awk, sed).
- Editor di testo (ad es. nano, vim).
- Varie (ad es. openssl, bash, bash64).
Puoi visualizzare l'elenco completo dei programmi supportati qui . Gli sviluppatori aggiungono più programmi ogni giorno. Tieni d'occhio l'elenco e controllalo di tanto in tanto.
Kmdr è un'utilità open source gratuita scritta in Nodejs .
Installa Kmdr CLI
Kmdr richiede Nodejs versione 8.x o sopra. Se non hai ancora installato Nodejs sul tuo sistema Linux, fai riferimento al seguente link.
- Come installare NodeJS su Linux
Dopo aver installato Nodejs, puoi installare Kmdr CLI con il gestore di pacchetti Npm come di seguito.
$ npm install [email protected] --global
Kmdr può anche essere utilizzato direttamente dal tuo browser web. Nessuna installazione o registrazione richiesta! Apri il tuo browser web e vai al seguente link e fornisci il tuo comando.
- http://demo.kmdr.sh/
Visualizza la spiegazione dei comandi CLI nel terminale utilizzando Kmdr
Ottenere la spiegazione di un comando CLI è facile! Prendi un comando seguente come esempio.
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
È un po' difficile da capire per gli utenti Linux principianti e intermedi. Per coloro che si chiedono, il comando sopra mostrerà i comandi più utilizzati in alto in Linux.
Se vuoi conoscere la spiegazione di ciascuna parte del comando precedente, avvia Kmdr CLI usando il comando:
$ kmdr explain
Kmdr ti chiederà di inserire il tuo comando. Basta digitarlo e premere il tasto INVIO.
Risultato di esempio:
? 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
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042716014399.png)
Ottieni la spiegazione dei comandi CLI dal terminale utilizzando Kmdr
Come puoi vedere nell'output sopra, Kmdr scompone ogni parte nel comando sopra e fornisce la spiegazione di ciascuna parte.
Alla fine della spiegazione, Kmdr ti chiederà di condividere il tuo feedback. Puoi scegliere Sì o No utilizzando la freccia per inviare il feedback. Se scegli Sì, digita il feedback e premi INVIO. Se non vuoi condividere il feedback, scegli semplicemente "Salta ed esci" per uscire da Kmdr. È così semplice!
Kmdr comprende anche più comandi.
È anche possibile ottenere la spiegazione dei comandi con opzioni raggruppate.
$ 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
Ho fornito semplici esempi. Puoi provare tutti i tipi di comandi complessi che includono piping, reindirizzamento, sottocomandi, operatori ecc.
Lettura consigliata:
- Cerca, studia e fai pratica con i comandi Linux al volo!
- Impara e fai pratica con i comandi Linux online GRATUITAMENTE!
- Metti alla prova le tue abilità BASH giocando ai giochi della riga di comando
- Impara a utilizzare le pagine man in modo efficiente
Dopo aver provato un paio di comandi, ho notato che Kmdr non ha un'opzione per inserire comandi aggiuntivi. Ho dovuto uscire da Kmdr e quindi riaprirlo e inserire nuovamente un altro comando. Potrebbe essere meglio se mi permettesse di aggiungere altri comandi senza dover rieseguire "kmdr spiegare" ogni volta. A parte questo piccolo problema, Kmdr ha funzionato bene sul mio sistema Ubuntu 18.04.
Aggiornamento:
Questo problema è stato risolto nell'ultima versione di Kmdr. Il kmdr v0.2 ti consente di cercare continuamente i comandi senza dover reinserire "kmdr spiegare" ogni volta.
Il client della CLI di Kmdr è molto nuovo e ancora in fase iniziale. Spero che gli sviluppatori lo miglioreranno aggiungendo più funzionalità nei giorni a venire. Fai un tentativo e condividi i tuoi pensieri nella sezione commenti qui sotto.