Razumijevanje shell komandi jednostavno korištenjem "Explain Shell" skripte u Linuxu


Dok radimo na Linux platformi, svima nam je potrebna pomoć oko komandi ljuske, u nekom trenutku. Iako je ugrađena pomoć kao što je man pages, naredba whatis je korisna, ali izlaz man stranica je predugačak i dok i osim ako neko nema iskustva s Linuxom, vrlo je teško dobiti bilo kakvu pomoć sa ogromnih man stranica. Izlaz naredbe whatis rijetko ima više od jednog reda što nije dovoljno za početnike.

Postoje aplikacije treće strane kao što je 'cheat', koje smo pokrili ovdje "Commandline Cheat Sheet za Linux korisnike. Iako je Cheat izuzetno dobra aplikacija koja pokazuje pomoć na komandi ljuske čak i kada računar nije povezan na Internet, ona pokazuje pomoć samo na unapred definisanim komandama.

Postoji mali dio koda koji je napisao Jackson koji može vrlo efikasno objasniti komande ljuske unutar bash shell-a i pogoditi šta je najbolje što ne morate instalirati bilo koji paket treće strane. Datoteku koja sadrži ovaj dio koda nazvao je 'explain.sh'.

Karakteristike programa Explain Utility

  1. Jednostavno ugrađivanje koda.
  2. Nije potrebno instalirati uslužni program treće strane.
  3. Iznesite dovoljno informacija u toku objašnjenja.
  4. Za rad je potrebna internetska veza.
  5. Čisti uslužni program komandne linije.
  6. U stanju je objasniti većinu naredbi ljuske u bash shell-u.
  7. Nije potrebno učešće root naloga.
Preduvjet

Jedini uslov je paket 'curl'. U većini današnjih najnovijih distribucija Linuxa, curl paket dolazi unaprijed instaliran, a ako nije, možete ga instalirati pomoću upravitelja paketa kao što je prikazano u nastavku.

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

Instalacija uslužnog programa objasni.sh u Linuxu

Moramo umetnuti donji dio koda kakav je u datoteci ~/.bashrc. Kôd treba umetnuti za svakog korisnika i svaku datoteku .bashrc. Predlaže se umetanje koda samo u korisnikovu datoteku .bashrc, a ne u .bashrc korisnika root.

Primijetite da je prvi red koda koji počinje s hash (#) opcionalan i dodan samo da razlikuje ostatak kodova .bashrc.

# objasni.sh označava početak kodova, mi ubacujemo u datoteku .bashrc na dnu ove datoteke.


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
}

Rad uslužnog programa objasni.sh

Nakon što umetnete kod i sačuvate ga, morate se odjaviti iz trenutne sesije i ponovo se prijaviti da bi promjene stupile na snagu. O svemu se brine naredba 'curl' koja prenosi naredbu za unos i zastavicu za koje je potrebno objašnjenje na mankier server, a zatim ispisuje samo potrebne informacije na Linux komandu -line. Da ne spominjemo da biste koristili ovaj uslužni program morate uvijek biti povezani na internet.

Isprobajmo nekoliko primjera naredbi kojima ne znam značenje sa skriptom explain.sh.

1. Zaboravio sam šta radi „du -h“. Sve što treba da uradim je:

explain 'du -h'

2. Ako ste zaboravili šta radi ‘tar -zxvf’, možete jednostavno učiniti:

explain 'tar -zxvf'

3. Jedan od mojih prijatelja često brka upotrebu naredbe „whatis“ i „whereis“, pa sam ga posavjetovao.

Idite u interaktivni način jednostavnim upisivanjem naredbe objasni na terminalu.

explain

a zatim otkucajte komande jednu za drugom da vidite šta rade u jednom prozoru, kao:

Command: whatis
Command: whereis

Da izađe iz interaktivnog moda, samo treba da uradi Ctrl + c.

4. Možete tražiti da se objasni više od jedne komande ulančane cevovodom.

explain 'ls -l | grep -i Desktop'

Slično, možete tražiti od vaše ljuske da objasni bilo koju naredbu ljuske. Sve što vam treba je ispravna internet konekcija. Izlaz se generiše na osnovu objašnjenja potrebnog od servera i stoga se rezultat izlaza ne može prilagoditi.

Za mene je ovaj uslužni program zaista od pomoći i čast mi je što sam dodan u moj .bashrc. Javite mi šta mislite o ovom projektu? Kako to može biti korisno za vas? Da li je objašnjenje zadovoljavajuće?

Dajte nam svoje vrijedne povratne informacije u komentarima ispod. Lajkujte i podijelite nas i pomozite nam da se širimo.