Jos käytämme jotakin suurta käyttöjärjestelmää, olemme epäsuorassa vuorovaikutuksessa kuori . Kun käytämme Ubuntua, Linux Mintiä tai mitä tahansa muuta Linux-jakelua, olemme vuorovaikutuksessa kuoren kanssa terminaalin avulla. Tässä artikkelissa keskustelemme Linuxin kuorista ja komentosarjoista, joten ennen kuin ymmärrämme komentotulkkikomentosarjan, meidän on tutustuttava seuraaviin terminologioihin:
- Ydin
- Kuori
- Terminaali
Sisällysluettelo
- Mikä on ydin?
- Mikä on Shell?
- Command Line Shell
- Graafiset kuoret
- Mikä on terminaali?
- Shell Scripting
Mikä on ydin?
Ydin on tietokoneohjelma, joka on tietokoneen käyttöjärjestelmän ydin ja joka hallitsee täysin kaikkea järjestelmässä. Se hallitsee seuraavia Linux-järjestelmän resursseja -
- Tiedostonhallinta
- Prosessien hallinta
- I/O-hallinta
- Muistin hallinta
- Laitehallinta jne.
Usein on virhe, että Linus Torvalds on kehittänyt Linux-käyttöjärjestelmän, mutta itse asiassa hän on vastuussa vain Linux-ytimen kehittämisestä.
Täydellinen Linux-järjestelmä = Kernel + GNU järjestelmäapuohjelmat ja kirjastot + muut hallintaskriptit + asennusskriptit.
Mikä on Shell?
Shell on erityinen käyttäjäohjelma, joka tarjoaa käyttäjälle käyttöliittymän käyttöjärjestelmän palveluiden käyttöön. Shell hyväksyy ihmisten luettavissa olevat komennot käyttäjiltä ja muuntaa ne sellaisiksi, joita ydin voi ymmärtää. Se on komentokielen tulkki, joka suorittaa komentoja, jotka luetaan syöttölaitteilta, kuten näppäimistöltä tai tiedostoista. Shell käynnistyy, kun käyttäjä kirjautuu sisään tai käynnistää päätelaitteen.
mikä on lepotila

Linux Shell
Shell luokitellaan laajasti kahteen luokkaan -
- Command Line Shell
- Graafinen kuori
Command Line Shell
Käyttäjät voivat käyttää Shelliä komentoriviliittymän avulla. Erikoisohjelma nimeltä Terminal Linux/macOS:ssä tai komentokehote Windows-käyttöjärjestelmässä on tarkoitettu syöttämään ihmisen luettavissa olevat komennot, kuten cat, ls jne. ja sitten se suoritetaan. Tämän jälkeen tulos näytetään päätelaitteessa käyttäjälle. Ubuntu 16.4 -järjestelmän pääte näyttää tältä -

linuxin komentorivi
Yllä olevassa kuvakaappauksessa ls komento kanssa -l vaihtoehto suoritetaan. Se listaa kaikki nykyisen työhakemiston tiedostot pitkässä luettelomuodossa.
Komentorivin kuoren kanssa työskentely on hieman vaikeaa aloittelijoille, koska on vaikea muistaa niin monia komentoja. Se on erittäin voimakas; sen avulla käyttäjät voivat tallentaa komentoja tiedostoon ja suorittaa ne yhdessä. Tällä tavalla kaikki toistuvat tehtävät voidaan helposti automatisoida. Näitä tiedostoja kutsutaan yleensä erätiedostoiksi Windowsissa ja Kuori Skriptit Linux/macOS-järjestelmissä.
Graafiset kuoret
Graafiset kuoret tarjoavat välineet graafiseen käyttöliittymään (GUI) perustuvien ohjelmien käsittelemiseen sallimalla toimintojen, kuten ikkunoiden avaamisen, sulkemisen, siirtämisen ja koon muuttamisen, sekä ikkunoiden välisen tarkennuksen vaihtamisen. Window OS tai Ubuntu OS voidaan pitää hyvänä esimerkkinä, joka tarjoaa käyttäjälle graafisen käyttöliittymän vuorovaikutuksessa ohjelman kanssa. Käyttäjien ei tarvitse kirjoittaa komentoja jokaista toimintoa varten. Tyypillinen käyttöliittymä Ubuntu-järjestelmässä -

GUI Shell
int tuplata
Linux-järjestelmille on saatavana useita kuoria, kuten -
- BASH (Bourne Again SHell) – Se on Linux-järjestelmien yleisimmin käytetty kuori. Sitä käytetään oletusarvoisena kirjautumiskuorena Linux-järjestelmissä ja macOS:ssä. Se voidaan asentaa myös Windows-käyttöjärjestelmään.
- CSH (C SHell) – C-kuoren syntaksi ja sen käyttö ovat hyvin samanlaisia kuin C-ohjelmointikielen.
- KSH (Korn SHell) – Korn Shell oli myös perusta POSIX Shellin standardispesifikaatioille jne.
Jokainen kuori tekee saman työn, mutta ymmärtää eri komennot ja tarjoaa erilaisia sisäänrakennettuja toimintoja.
Linux run cmd
Mikä on terminaali?
Ohjelma, jonka tehtävänä on tarjota käyttäjälle käyttöliittymä, jotta hän voi käyttää komentotulkkia. Sen avulla käyttäjät voivat periaatteessa syöttää komentoja ja nähdä näiden komentojen tulosteet tekstipohjaisessa käyttöliittymässä. Suuret skriptit, jotka on kirjoitettu automatisoimaan ja suorittamaan monimutkaisia tehtäviä, suoritetaan päätteessä.
Pääset terminaaliin etsimällä hakukentän terminaalista ja kaksoisnapsauttamalla sitä.
avoin terminaali
Täältä näet miltä pääte näyttää Red Hat Linuxissa.
terminaali
Shell Scripting
Yleensä kuoret ovat interaktiivisia, mikä tarkoittaa, että ne hyväksyvät komentoja käyttäjiltä syötteenä ja suorittavat ne. Joskus kuitenkin haluamme suorittaa joukon komentoja rutiininomaisesti, joten meidän on kirjoitettava kaikki komennot joka kerta terminaaliin.
Koska komentotulkki voi myös ottaa komentoja syötteenä tiedostosta, voimme kirjoittaa nämä komennot tiedostoon ja suorittaa ne shellissä tämän toistuvan työn välttämiseksi. Näitä tiedostoja kutsutaan Shell-skriptit tai Shell-ohjelmat . Shell-komentosarjat ovat samanlaisia kuin MS-DOS:n erätiedosto. Jokainen komentotulkkikomentosarja tallennetaan '.sh'. tiedostopääte esim. myscript.sh.
Shell-skriptillä on syntaksi aivan kuten muillakin ohjelmointikielillä. Jos sinulla on aikaisempaa kokemusta mistä tahansa ohjelmointikielestä, kuten Python, C/C++ jne. Sen aloittaminen olisi erittäin helppoa.
Shell-skripti sisältää seuraavat elementit -
- Shell-avainsanat – if, else, break jne.
- Shell-komennot – cd, ls, echo, pwd, touch jne.
- Toiminnot
- Ohjaa virtausta – jos...niin...muuten, kotelo- ja kuorisilmukat jne.
Miksi tarvitsemme shell-skriptejä?
Shell-skriptien kirjoittamiseen on monia syitä:
- Toistuvan työn ja automatisoinnin välttämiseksi
- Järjestelmänvalvojat käyttävät komentotulkkikomentosarjaa rutiinivarmuuskopiointiin.
- Järjestelmän valvonta
- Lisää uusia toimintoja kuoreen jne.
Jotkut shell-skriptien edut
- Komento ja syntaksi ovat täsmälleen samat kuin suoraan komentoriville syötetyt, joten ohjelmoijien ei tarvitse vaihtaa täysin eri syntaksiin
- Shell-skriptien kirjoittaminen on paljon nopeampaa
- Pika-aloitus
- Interaktiivinen virheenkorjaus jne.
Jotkut shell-skriptien haitat
- Altis kalliille virheille, yksi virhe voi muuttaa komentoa, mikä saattaa olla haitallista.
- Hidas suoritusnopeus
- Suunnitteluvirheitä kielen syntaksissa tai toteutuksessa
- Ei sovellu suuriin ja monimutkaisiin tehtäviin
- Tarjoa minimaalinen tietorakenne toisin kuin muut komentosarjakielet. jne.
Yksinkertainen demo shell-skriptauksesta Bash Shellillä
Jos työskentelet terminaalin parissa, kuljet syvällä hakemistoissa. Sitten tuleville polulle tuleville hakemistoille meidän on suoritettava alla oleva komento päästäksemme python-hakemistoon:

Siirry python-hakemistoon:
Se on melko turhauttavaa, joten miksei meillä voi olla apuohjelma, jossa meidän täytyy vain kirjoittaa hakemiston nimi ja voimme siirtyä siihen suoraan suorittamatta cd../ komentaa uudestaan ja uudestaan. Tallenna skripti nimellä jump.sh
analoginen viestintälyödä
# !/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 }> Toistaiseksi emme voi suorittaa komentosarjaamme, koska sillä ei ole käyttöoikeuksia. Meidän on tehtävä siitä suoritettava kirjoittamalla seuraava komento -
$ chmod +x polku/to/meidän/tiedostoon/jump.sh
Nyt, jotta tämä olisi käytettävissä jokaisessa pääteistunnossa, meidän on asetettava tämä .bashrc tiedosto.
.bashrc on komentotulkkikomentosarja, jonka Bash shell suorittaa aina, kun se käynnistetään interaktiivisesti. .bashrc-tiedoston tarkoitus on tarjota paikka, jossa voit määrittää muuttujia, toimintoja ja aliaksia, määrittää kehotteen ja muita asetuksia, joita haluamme käyttää aina kun avaamme uuden pääteikkunan.
Avaa nyt pääte ja kirjoita seuraava komento:
python tai
$ echo source ~/path/to/our/file/jump.sh>> ~/.bashrc
Avaa nyt päätelaite ja kokeile uusia hyppytoimintoja kirjoittamalla seuraava komento-
$ jump dir_name
aivan kuten alla oleva kuvakaappaus:

hypätä dir_name
Johtopäätös
Tässä artikkelissa opimme Linux-järjestelmien olennaisista osista: ydin, joka ohjaa kaikkea, kuori, jonka avulla voimme olla vuorovaikutuksessa käyttöjärjestelmän kanssa, ja pääte, käyttöliittymämme komentojen antamiseen. Tutkimme komentoriviä ja graafisia kuoria, kuten BASHia, ja ymmärsimme, että pääte on paikka, johon kirjoitamme komentojamme. Artikkelissa esiteltiin shell-komentosarjat, tapa automatisoida tehtäviä käyttämällä yksinkertaisia komentosarjoja, ja keskusteltiin niiden käytön eduista ja haitoista. Käytännön esimerkki osoitti komentosarjan luomisen nopeaa hakemistonavigointia varten. Lopuksi näimme kuinka saada komentosarja toimimaan ja siitä tulee saataville jokaisessa pääteistunnossa. Tämä artikkeli on aloittelijaystävällinen opas Linuxin kuorien ja komentotulkkien ymmärtämiseen ja käyttöön. linux on hyvä kieli, se on kirjoitettu linux-kielellä