Supratimas apie „Shell“ komandas lengvai naudojant „Explain Shell“ scenarijų sistemoje „Linux“


Dirbdami „Linux“ platformoje, mums visiems tam tikru metu reikia pagalbos dėl „shell“ komandų. Nors įtaisyta pagalba, pavyzdžiui, „man“ puslapiai, yra naudinga „whatis“ komanda, tačiau žmogaus puslapių išvestis yra per ilga ir, kol žmogus neturi tam tikros patirties su „Linux“, labai sunku gauti pagalbos iš masyvių žmogaus puslapių. „Whatis“ komandos išvestis retai yra daugiau nei viena eilutė, kurios nepakanka naujokams.

Yra trečiųjų šalių taikomoji programa, tokia kaip „cheat“, kurią aprašėme čia „Commandline Cheat Sheet for Linux Users“. Nors „Cheat“ yra išskirtinai gera programa, rodanti pagalbą „shell“ komandoje, net jei kompiuteris nėra prijungtas prie interneto, ji rodo pagalbą tik iš anksto nustatytoms komandoms.

Yra nedidelis gabalas kodo, kurį parašė Jacksonas, kuris gali labai efektyviai paaiškinti „shell“ komandas „bash shell“ ir atspėti, kas geriausia, jums nereikia įdiegti jokio trečiosios šalies paketo. Failą, kuriame yra šis kodo fragmentas, jis pavadino paaiškinti.sh .

  1. Lengvas kodo įterpimas.
  2. Nereikėjo įdiegti jokių trečiųjų šalių paslaugų.
  3. Paaiškinimo metu pateikite pakankamai informacijos.
  4. Norint dirbti, reikalingas interneto ryšys.
  5. Grynas komandinės eilutės įrankis.
  6. Geba paaiškinti daugumą „shell“ komandų „shell“.
  7. Nereikia įtraukti pagrindinės paskyros.

Vienintelis reikalavimas yra curl paketas. Daugumoje šių dienų naujausių „Linux“ distribucijų „curl“ paketas yra iš anksto įdiegtas, jei ne, galite jį įdiegti naudodami paketų tvarkytuvę, kaip parodyta žemiau.

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

„Install.sh“ naudingumo diegimas „Linux“

Turime įterpti žemiau pateiktą kodo dalį, esančią faile ~/.bashrc . Kodas turėtų būti įterptas kiekvienam vartotojui ir kiekvienam failui .bashrc . Siūloma kodą įterpti tik į vartotojo .bashrc failą, o ne į šakninio vartotojo .bashrc.

Atkreipkite dėmesį, kad pirmoji kodo eilutė, prasidedanti maišu (#) , yra neprivaloma ir pridedama tik norint atskirti likusius .bashrc kodus.

# paaiškinti.sh žymi kodų pradžią, įterpiame į .bashrc failą šio failo apačioje.

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

Darbas paaiškinti.sh naudingumas

Įterpę kodą ir jį išsaugoję, turite atsijungti nuo dabartinės sesijos ir prisijungti, kad pakeitimai įsigaliotų. Kiekvienu dalyku rūpinasi komanda „curl“, kuri perduoda įvesties komandą ir vėliavą, kuriai reikia paaiškinimo, į pagrindinį serverį ir tada išspausdina būtiną informaciją į „Linux“ komandinę eilutę. Jau nekalbant apie tai, kad naudojatės šia priemone, visada turite būti prisijungę prie interneto.

Išbandykime kelis komandos pavyzdžius, kurių reikšmės nežinau, naudodamas scenarijų paaiškinti.

1. Aš pamiršau, ką daro „du -h“. Viskas, ką man reikia padaryti, yra:

$ explain 'du -h'

2. Jei pamiršote, ką daro „tar -zxvf“, galite tiesiog:

$ explain 'tar -zxvf'

3. Vienas mano draugas dažnai painioja „whatis“ ir „whereis“ komandų naudojimą, todėl aš jam patariau.

Eikite į interaktyvųjį režimą tiesiog įveskite komandą paaiškinti terminale.

$ explain

tada įveskite komandas viena po kitos, kad pamatytumėte, ką jos daro viename lange:

Command: whatis
Command: whereis

Norėdami išeiti iš interaktyvaus režimo, jis tiesiog turi atlikti „Ctrl“ + c.

4. Galite paprašyti paaiškinti daugiau nei vieną komandą, sujungtą vamzdynu.

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

Panašiai galite paprašyti savo apvalkalo paaiškinti bet kurią apvalkalo komandą. Jums tereikia veikiančio interneto ryšio. Išvestis sukuriama remiantis paaiškinimu, kurio reikia iš serverio, todėl išvesties rezultatas nėra pritaikomas.

Man šis įrankis yra tikrai naudingas ir buvo pagerbtas, kai buvo pridėtas prie mano .bashrc. Praneškite man, ką galvojate apie šį projektą? Kuo tai gali būti naudinga jums? Ar paaiškinimas patenkinamas?

Pateikite mums savo vertingus atsiliepimus toliau pateiktose pastabose. Patinka ir dalinkitės mumis bei padėkite mums plisti.