Comprensione dei comandi della shell Facilmente utilizzando & quot; Spiega Shell & quot; Script in Linux


Mentre lavoriamo sulla piattaforma Linux, tutti noi abbiamo bisogno di aiuto sui comandi della shell, ad un certo punto del tempo. Sebbene l'aiuto integrato come il comando man pages , whatis sia utile, ma l'output delle pagine man è troppo lungo e finché non si ha esperienza con Linux, è molto difficile ottenere qualsiasi aiuto da pagine man massive. L'output del comando whatis è raramente più di una riga che non è sufficiente per i principianti.

Ci sono applicazioni di terze parti come " cheat ", che abbiamo trattato qui "Commandline Cheat Sheet per utenti Linux. Sebbene Cheat sia un'applicazione eccezionalmente valida che mostra aiuto sul comando della shell anche quando il computer non è connesso a Internet, mostra aiuto solo su comandi predefiniti.

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

  1. Easy Code Embedding.
  2. No third-party utility needed to be installed.
  3. Output just enough information in course of explanation.
  4. Requires internet connection to work.
  5. Pure command-line utility.
  6. Able to explain most of the shell commands in bash shell.
  7. No root Account involvement required.

L'unico requisito è il pacchetto 'curl' . Nella maggior parte delle ultime distribuzioni Linux di oggi, il pacchetto curl viene preinstallato, se non è 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à explain.sh in Linux

Dobbiamo inserire il codice di seguito riportato come nel file ~/.bashrc . Il codice deve essere inserito per ogni utente e ogni file .bashrc . Si consiglia di inserire il codice solo nel file .bashrc dell'utente e non in .bashrc dell'utente root.

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

# explain.sh segna l'inizio dei codici, che stiamo inserendo nel file .bashrc nella parte inferiore di 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à explain.sh

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

Proviamo alcuni esempi di comando che 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:

$ explain 'tar -zxvf'

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

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

$ explain

e poi 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 incatenato dalla pipeline.

$ explain 'ls -l | grep -i Desktop'

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

Per me questa utility è davvero utile ed è stato onorato di essere stato aggiunto al mio .bashrc . Fammi sapere qual è il tuo pensiero su questo progetto? Come può essere utile per te? La spiegazione è soddisfacente?

Forniscici il tuo prezioso feedback nei commenti qui sotto. Piace e condividi noi e aiutaci a diffonderci.