Verstinn Shell Kommandoen einfach mat Erklären Shell Skript a Linux


Wärend op der Linux Plattform schaffe mir all Hëllef op Shellbefehle, iergendwann. Och wann inbuilt Hëllef wéi Mann Säiten, Whatis Kommando ass hëllefräich, awer Mann Säiten Output sinn ze laang a bis an ausser wann een e puer Erfahrung mat Linux huet, ass et ganz schwéier Hëllef vu massive Mann Säiten ze kréien. D'Output vum Whatis Kommando ass selten méi wéi eng Zeil déi net genuch ass fir Newbies.

Et gi Drëtt Partei Uwendungen wéi 'Cheat', déi mir hei ofgedeckt hunn Commandline Cheat Sheet fir Linux Benotzer. Och wann Cheat eng aussergewéinlech gutt Applikatioun ass déi Hëllef um Shell Kommando weist, och wann de Computer net mam Internet ugeschloss ass, weist se Hëllef nëmmen op virdefinéiert Kommandoen.

Et gëtt e klengt Stéck Code geschriwwen vum Jackson wat fäeg ass Shellbefehle bannent der Bash Shell ganz effektiv z'erklären an ze roden wat de beschten Deel ass datt Dir keen Drëtt Partei Package installéiere musst. Hien huet de Fichier mat dësem Stéck Code als explain.sh benannt.

  1. Einfach Code Embedding.
  2. Keen Drëtt Partei Utility brauch installéiert ze ginn.
  3. Gitt just genuch Informatioun am Laf vun der Erklärung.
  4. Verlaangt Internetverbindung fir ze schaffen.
  5. Preng Kommandozeil-Utility.
  6. Kënnen déi meescht vun de Shell Kommandoen an der Bash Shell erklären.
  7. Keng Root Account Bedeelegung erfuerderlech.

Déi eenzeg Ufuerderung ass curl Package. An de meeschte vun den heutegsten Linux Verdeelungen, kënnt de Curl Package virinstalléiert, wann net, kënnt Dir et mat Package Manager installéieren wéi hei ënnendrënner.

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

Installatioun vum explain.sh Utility am Linux

Mir mussen dat hei ënnendrënner Stéck Code asetzen wéi et an der ~/.bashrc Datei ass. De Code soll fir all Benotzer an all .bashrc Datei agefouert ginn. Et gëtt virgeschloen, de Code nëmmen an d'.bashrc-Datei vum Benotzer an net an der .bashrc vum Root-Benotzer anzeginn.

Notéiert déi éischt Zeil vum Code déi mam Hash beginn (#) ass fakultativ a bäigefüügt just fir de Rescht vun de Coden vun .bashrc ze differenzéieren.

# explain.sh markéiert den Ufank vun de Coden, mir setzen an .bashrc Datei um Enn vun dëser Datei.

# 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
}

Schaffen vun explain.sh Utility

Nodeems Dir de Code agefouert hutt an en gespäichert hutt, musst Dir Iech vun der aktueller Sessioun ausloggen an zréck aloggen fir d'Ännerungen a Kraaft ze maachen. All Saach gëtt vum 'Curl' Kommando gekëmmert, deen den Input Kommando a Fändel transferéiert, déi Erklärung op de mankier Server brauchen an dann just déi néideg Informatioun op d'Linux Kommandozeil drécken. Net ze ernimmen fir dëst Utility ze benotzen, musst Dir ëmmer mam Internet verbonne sinn.

Loosst eis e puer Beispiller vu Kommando testen, déi ech d'Bedeitung net mat explain.sh Skript kennen.

1. Ech hu vergiess wat 'du -h' mécht. Alles wat ech maache muss ass:

$ explain 'du -h'

2. Wann Dir vergiess hutt wat 'tar -zxvf' mécht, kënnt Dir einfach maachen:

$ explain 'tar -zxvf'

3. Ee vu menge Frënn verwiesselt dacks d'Benotzung vum 'whatis' an 'whereis' Kommando, also hunn ech him ugeroden.

Gitt an den Interaktiven Modus andeems Dir einfach erkläre Kommando um Terminal tippt.

$ explain

a gitt dann d'Befehle een nom aneren fir ze kucken wat se an enger Fënster maachen, wéi:

Command: whatis
Command: whereis

Fir den interaktive Modus auszeschléissen, brauch hien just Ctrl + c ze maachen.

4. Dir kënnt froen méi wéi ee Kommando z'erklären, déi duerch Pipeline geketten ass.

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

Ähnlech kënnt Dir Är Shell froen fir all Shell Kommando z'erklären. Alles wat Dir braucht ass eng funktionéierend Internetverbindung. Den Output gëtt generéiert baséiert op der Erklärung déi vum Server gebraucht gëtt an dofir ass d'Ausgabresultat net personaliséierbar.

Fir mech ass dëst Utility wierklech hëllefräich an et ass geéiert ginn op meng .bashrc bäigefüügt. Loosst mech wëssen wat Är Gedanken iwwer dëse Projet ass? Wéi kann et fir Iech nëtzlech sinn? Ass d'Erklärung zefriddestellend?

Gitt eis Äre wäertvolle Feedback an de Kommentaren hei drënner. Like an deelt eis an hëlleft eis ze verbreeden.