Ricerca nel sito web

Comprendere facilmente i comandi della shell utilizzando lo script "Explain Shell" in Linux


Mentre lavoriamo su piattaforma Linux, tutti noi prima o poi abbiamo bisogno di aiuto sui comandi della shell. Sebbene l'aiuto integrato come pagine man, il comando whatis sia utile, ma l'output delle pagine man è troppo lungo e finché e a meno che non si abbia una certa esperienza con Linux, è molto difficile da ottenere qualsiasi aiuto da enormi pagine man. L'output del comando whatis raramente è più di una riga, il che non è sufficiente per i principianti.

Esistono applicazioni di terze parti come "cheat", di cui abbiamo parlato qui "Cheat Sheet della riga di comando per utenti Linux. Sebbene Cheat sia un'applicazione eccezionalmente buona che mostra la guida sui comandi della shell anche quando il computer non è connesso a Internet, mostra la guida solo sui comandi predefiniti.

C'è un piccolo pezzo di codice scritto da Jackson che è in grado di spiegare i comandi della shell all'interno della shell bash in modo molto efficace e indovina qual è la parte migliore è che non è necessario installare alcun pacchetto di terze parti. Ha chiamato il file contenente questo pezzo di codice come 'explain.sh'.

Caratteristiche dell'utilità Explain

  1. Incorporamento semplice del codice.
  2. Non è necessario installare alcuna utilità di terze parti.
  3. Fornisci informazioni appena sufficienti nel corso della spiegazione.
  4. Richiede una connessione Internet per funzionare.
  5. Pura utilità da riga di comando.
  6. In grado di spiegare la maggior parte dei comandi shell nella shell bash.
  7. Non è richiesto il coinvolgimento dell'account root.
Prerequisito

L'unico requisito è il pacchetto 'curl'. Nella maggior parte delle ultime distribuzioni Linux di oggi, il pacchetto curl è preinstallato, in caso contrario è possibile installarlo utilizzando il gestore pacchetti come mostrato di seguito.

apt-get install curl 	[On Debian systems]
yum install curl 		[On CentOS systems]

Installazione dell'utilità spieghe.sh in Linux

Dobbiamo inserire la parte di codice seguente così come è nel file ~/.bashrc. Il codice dovrebbe essere inserito per ogni utente e ogni file .bashrc. Si consiglia di inserire il codice solo nel file .bashrc dell'utente e non nel file .bashrc dell'utente root.

Nota che la prima riga di codice che inizia con l'hash (#) è facoltativa e viene aggiunta solo per differenziare il resto dei codici di .bashrc.

#plain.sh segna l'inizio dei codici, stiamo inserendo nel file .bashrc in fondo a questo file.


explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

Funzionamento dell'utilità spieghe.sh

Dopo aver inserito il codice e averlo salvato, è necessario disconnettersi dalla sessione corrente ed effettuare nuovamente il login per rendere effettive le modifiche. Ogni cosa è gestita dal comando 'curl' che trasferisce il comando di input e il flag che necessitano di spiegazioni al server mankier e quindi stampa solo le informazioni necessarie al comando Linux -linea. Per non parlare di utilizzare questa utility devi essere sempre connesso a Internet.

Proviamo alcuni esempi di comandi di cui non conosco il significato con lo script explain.sh.

1. Ho dimenticato cosa fa "du -h". Tutto quello che devo fare è:

explain 'du -h'

2. Se hai dimenticato cosa fa "tar -zxvf", puoi semplicemente fare:

explain 'tar -zxvf'

3. Uno dei miei amici confonde spesso l'uso del comando "whatis" e "whereis", quindi gliel'ho consigliato.

Vai alla modalità interattiva semplicemente digitando il comando spiega sul terminale.

explain

e quindi digita i comandi uno dopo l'altro per vedere cosa fanno in una finestra, come:

Command: whatis
Command: whereis

Per uscire dalla modalità interattiva deve solo fare Ctrl + C.

4. Puoi chiedere di spiegare più di un comando concatenato dalla pipeline.

explain 'ls -l | grep -i Desktop'

Allo stesso modo puoi chiedere alla tua shell di spiegare qualsiasi comando di shell. Tutto ciò di cui hai bisogno è una connessione Internet funzionante. L'output viene generato in base alla spiegazione richiesta dal server e quindi il risultato dell'output non è personalizzabile.

Per me questa utility è davvero utile ed è stato un onore essere stata aggiunta al mio .bashrc. Fammi sapere qual è il tuo pensiero su questo progetto? Come può esserti utile? La spiegazione è soddisfacente?

Forniscici il tuo prezioso feedback nei commenti qui sotto. Metti mi piace, condividici e aiutaci a diffonderci.