logo

Uvod v lupino Linux in skriptno lupino

Če uporabljamo večji operacijski sistem, posredno komuniciramo z lupina . Ko izvajamo Ubuntu, Linux Mint ali katero koli drugo distribucijo Linuxa, komuniciramo z lupino s pomočjo terminala. V tem članku bomo razpravljali o lupinah Linux in skriptnih lupinah, zato se moramo pred razumevanjem skriptnih lupin seznaniti z naslednjo terminologijo:

  • Jedro
  • školjka
  • Terminal

Kazalo



Kaj je Kernel?

Jedro je računalniški program, ki je jedro operacijskega sistema računalnika, s popolnim nadzorom nad vsem v sistemu. Upravlja naslednje vire sistema Linux –

  • Upravljanje datotek
  • Upravljanje procesov
  • Upravljanje I/O
  • Upravljanje pomnilnika
  • Upravljanje naprav itd.

Pogosto se zmoti, da je Linus Torvalds razvil OS Linux, v resnici pa je odgovoren le za razvoj jedra Linuxa.

Celoten sistem Linux = jedro + GNU sistemski pripomočki in knjižnice + drugi upravljalni skripti + namestitveni skripti.



Kaj je Shell?

Lupina je poseben uporabniški program, ki uporabniku nudi vmesnik za uporabo storitev operacijskega sistema. Shell sprejema človeku berljive ukaze uporabnikov in jih pretvori v nekaj, kar jedro razume. Je tolmač ukaznega jezika, ki izvaja ukaze, prebrane iz vnosnih naprav, kot so tipkovnice, ali iz datotek. Lupina se zažene, ko se uporabnik prijavi ali zažene terminal.

binarno iskalno drevo]
Linux Shell

Lupina Linux

Shell je na splošno razvrščen v dve kategoriji –



  • Lupina ukazne vrstice
  • Grafična lupina

Lupina ukazne vrstice

Uporabniki lahko do lupine dostopajo z vmesnikom ukazne vrstice. Poseben program, imenovan Terminal v sistemu Linux/macOS ali ukazni poziv v operacijskem sistemu Windows, je na voljo za vnašanje človeku berljivih ukazov, kot so cat, ls itd., in se nato izvede. Rezultat se nato uporabniku prikaže na terminalu. Terminal v sistemu Ubuntu 16.4 izgleda takole –

ukazna vrstica linux

ukazna vrstica linux

Na zgornjem posnetku zaslona ls ukaz z -l možnost je izvršena. Navedel bo vse datoteke v trenutnem delovnem imeniku v obliki dolgega seznama.
Delo z lupino ukazne vrstice je za začetnike nekoliko težavno, ker si je težko zapomniti toliko ukazov. Je zelo močan; uporabnikom omogoča shranjevanje ukazov v datoteko in njihovo izvajanje skupaj. Na ta način je mogoče vsako ponavljajočo nalogo zlahka avtomatizirati. Te datoteke se v sistemu Windows običajno imenujejo paketne datoteke in školjka Skripte v sistemih Linux/macOS.

Grafične lupine

Grafične lupine zagotavljajo sredstva za upravljanje programov, ki temeljijo na grafičnem uporabniškem vmesniku (GUI), tako da omogočajo operacije, kot so odpiranje, zapiranje, premikanje in spreminjanje velikosti oken ter preklapljanje fokusa med okni. Window OS ali Ubuntu OS se lahko štejeta za dober primer, ki uporabniku nudi GUI za interakcijo s programom. Uporabnikom ni treba vnašati ukazov za vsako dejanje. Tipičen GUI v sistemu Ubuntu –

Lupina GUI

Lupina GUI

datumski niz java

Za sisteme Linux je na voljo več lupin, kot so –

  • BASH (Bourne Again SHell) – Je najpogosteje uporabljena lupina v sistemih Linux. Uporablja se kot privzeta lupina za prijavo v sistemih Linux in macOS. Namestite ga lahko tudi na Windows OS.
  • CSH (C SHell) – Sintaksa lupine C in njena uporaba sta zelo podobni programskemu jeziku C.
  • KSH (Korn SHell) – Korn Shell je bil tudi osnova za standardne specifikacije POSIX Shell itd.

Vsaka lupina opravlja isto delo, vendar razume različne ukaze in ponuja različne vgrajene funkcije.

Kaj je terminal?

Program, ki je odgovoren za zagotavljanje vmesnika uporabniku, tako da lahko dostopa do lupine. V bistvu uporabnikom omogoča vnos ukazov in ogled rezultatov teh ukazov v vmesniku, ki temelji na besedilu. Veliki skripti, ki so napisani za avtomatizacijo in izvajanje kompleksnih nalog, se izvajajo v terminalu.


Za dostop do terminala preprosto poiščite terminal v iskalnem polju in ga dvokliknite.

odprt terminal

Tukaj si lahko ogledate, kako izgleda terminal Red Hat Linux.

java system.out.println

terminal

Skriptna lupina

Običajno so lupine interaktivne, kar pomeni, da sprejemajo ukaze kot vnos uporabnikov in jih izvajajo. Vendar včasih želimo rutinsko izvajati kup ukazov, zato moramo vse ukaze vsakič vnesti v terminal.

Ker lahko ukazna lupina sprejme tudi ukaze kot vhod iz datoteke, lahko te ukaze zapišemo v datoteko in jih izvedemo v lupini, da se izognemo temu ponavljajočemu se delu. Te datoteke se imenujejo Shell skripti oz Shell programi . Lupinski skripti so podobni paketni datoteki v MS-DOS. Vsak lupinski skript je shranjen z `.sh` končnica datoteke npr. myscript.sh.

Lupinski skript ima sintakso tako kot kateri koli drug programski jezik. Če imate predhodne izkušnje s katerim koli programskim jezikom, kot je Python, C/C++ itd., bi bilo zelo enostavno začeti z njim.

java vnos

Lupinski skript je sestavljen iz naslednjih elementov –

  • Ključne besede lupine – if, else, break itd.
  • Ukazi lupine – cd, ls, echo, pwd, touch itd.
  • Funkcije
  • Kontrolni tok – if..then..else, case in shell zanke itd.

Zakaj potrebujemo lupinske skripte?

Razlogov za pisanje lupinskih skriptov je veliko:

  • Da bi se izognili ponavljajočemu se delu in avtomatizaciji
  • Sistemski skrbniki uporabljajo skriptno lupino za rutinsko varnostno kopiranje.
  • Spremljanje sistema
  • Dodajanje novih funkcij lupini itd.

Nekatere prednosti lupinskih skriptov

  • Ukaz in sintaksa sta popolnoma enaka tistima, ki sta neposredno vnesena v ukazno vrstico, zato programerjem ni treba preklopiti na popolnoma drugačno sintakso
  • Pisanje lupinskih skriptov je veliko hitrejše
  • Hiter začetek
  • Interaktivno odpravljanje napak itd.

Nekaj ​​slabosti lupinskih skriptov

  • Nagnjen k dragim napakam, ena sama napaka lahko spremeni ukaz, kar je lahko škodljivo.
  • Počasna hitrost izvajanja
  • Oblikovalske napake v jezikovni sintaksi ali implementaciji
  • Ni najbolj primeren za velike in zapletene naloge
  • Za razliko od drugih skriptnih jezikov zagotovite minimalno strukturo podatkov. itd.

Preprosta predstavitev skriptne lupine z uporabo Bash Shell

Če delate na terminalu, nekaj, kar preiskujete globoko v imenikih. Nato moramo za nekaj imenikov na poti izvesti tak ukaz, kot je prikazan spodaj, da pridemo do imenika python:

priti do imenika python:

priti do imenika python:

To je precej frustrirajoče, zakaj torej ne bi imeli pripomočka, kjer moramo samo vnesti ime imenika in lahko neposredno skočimo nanj brez izvajanja cd ../ ukaz vedno znova. Shranite skript kot skok.sh

bash
# !/bin/bash # A simple bash script to move up to desired directory level directly function jump() {  # original value of Internal Field Separator  OLDIFS=$IFS  # setting field separator to '/'  IFS=/  # converting working path into array of directories in path  # eg. /my/path/is/like/this  # into [, my, path, is, like, this]  path_arr=($PWD)  # setting IFS to original value  IFS=$OLDIFS  local pos=-1  # ${path_arr[@]} gives all the values in path_arr  for dir in '${path_arr[@]}'  do  # find the number of directories to move up to  # reach at target directory  pos=$[$pos+1]  if [ '' = '$dir' ];then  # length of the path_arr  dir_in_path=${#path_arr[@]}  #current working directory  cwd=$PWD  limit=$[$dir_in_path-$pos-1]  for ((i=0; i; i++))  do  cwd=$cwd/..  done  cd $cwd  break  fi  done }>

Zaenkrat ne moremo izvesti našega ukaznega skripta, ker nima dovoljenj. Narediti ga moramo izvedljivo tako, da vnesemo naslednji ukaz –

$ chmod +x pot/do/naše/datoteke/jump.sh

Da bo to na voljo v vsaki terminalski seji, moramo to vnesti .bashrc mapa.

.bashrc je lupinski skript, ki ga lupina Bash zažene vsakič, ko se zažene interaktivno. Namen datoteke .bashrc je zagotoviti mesto, kjer lahko nastavite spremenljivke, funkcije in vzdevke, definirate naš poziv in določite druge nastavitve, ki jih želimo uporabiti, ko odpremo novo terminalsko okno.

Zdaj odprite terminal in vnesite naslednji ukaz:

bfs iskanje

$ echo vir ~/pot/do/naše/datoteke/jump.sh>> ~/.bashrc

Zdaj odprite terminal in preizkusite novo funkcijo skoka, tako da vnesete naslednji ukaz-

$ jump dir_name

tako kot spodnji posnetek zaslona:

skok dir_name

skok dir_name

Zaključek

V tem članku smo spoznali bistvene dele sistemov Linux: jedro, ki nadzoruje vse, lupino, ki nam omogoča interakcijo z operacijskim sistemom, in terminal, naš vmesnik za dajanje ukazov. Raziskali smo ukazno vrstico in grafične lupine, kot je BASH, in razumeli, da je terminal mesto, kjer vnašamo svoje ukaze. Članek je predstavil skriptno lupino, način za avtomatizacijo opravil z uporabo preprostih skriptov, ter razpravljal o prednostih in slabostih njihove uporabe. Praktični primer je pokazal ustvarjanje skripta za hitro navigacijo po imeniku. Končno smo videli, kako omogočiti, da skript deluje in postane dostopen v vsaki terminalski seji. Ta članek je začetnikom prijazen vodnik za razumevanje in uporabo lupin Linuxa in skriptnih lupin. linux je dober jezik, napisan je v jeziku linux