Useimmat Linux -käyttäjät eivät usein ole tietoisia käyttöjärjestelmän sisäisestä toiminnasta. Saatat ajaa Linux -komentoja kuorella pitkään, mutta oletko koskaan miettinyt, mitä tapahtuu kulissien takana, kun osut Tulla sisään?
Lopuksi sinulla on lyhyt käsitys siitä, miten kuori käsittelee kirjoitettua komentoa Linuxissa.
Käskyn käsittely
Kun kirjoitat komennon, kuori tekee ensimmäisenä koko komennon jakamisen "tunnuksiksi". Kuori etsii sitten komentorivin ensimmäiseen merkkiin kuuluvan ohjelman nimen.
Jos se ei löydä sitä mistään hakemistosta, joka on määritelty kohdassa $ PATH -ympäristömuuttuja tai paikallisessa hakemistossa .\ operaattori, tai se ei ole a kuoren alias tai kuoritoiminto, kuori antaa virheen. Jos se löytää kelvollisen komennon, kuori käy läpi kaikki muut merkit ja päättää, onko se muuttuja, kuoriparametri vai argumentti komennolle.
Jos kuori määrittää, että se on muuttuja tai parametri, kuten ~ kotihakemiston operaattori, kuori laajentaa ne tai korvaa ne alkuperäisillä arvoillaan komennossa.
Kun kuori on laajentanut parametreja tai muuttujia, se välittää komentojonon komennolle ja suorittaa ohjelman argumenttiensa kanssa. Kuori ei määritä, ovatko argumentit päteviä. Se on komennon tehtävä.
Komennon suorittaminen
Kun kuori käynnistää toisen komennon, miten se palaa samaan kehotteeseen, jota käytit aiemmin? Kuori tekee kopion itsestään, prosessi, jota kutsutaan haarautumiseksi. Tämä kuoren kopio korvaa itsensä komennolla, jossa on kaikki aiemmin käsitellyt argumentit. Tämä tunnetaan nimellä "exec" ja yhdistetty prosessi tunnetaan nimellä "haarukka ja suoritus".
Esimerkiksi kun juokset ls -komento, kuoriprosessi haarautuu itse käyttämällä haarukka() menetelmä ja luo toinen kuori -ilmentymä. Kahdesta järjestelmässä käynnissä olevasta kuoriprosessista ylimääräinen kuori suorittaa ls: n käyttämällä exec () -funktiota muuntamalla itsensä ls -komennon esiintymäksi.
Samaan aikaan alkuperäinen kuori odottaa komennon suorittamista. Siksi voit keskeyttää työt ja suorittaa työt taustalla kuoren avulla työn hallinnan avulla.
Aiheeseen liittyviä: Mikä on prosessi Linuxissa?
Poistumisen tilan raportointi
Linux -komennot raportoivat, suorittivatko ne onnistuneesti vai eivät, poistumistilansa kautta. Kuten nimestä voi päätellä, ohjelmat raportoivat lopetustilanteensa, kun ne ovat käynnissä. He tekevät tämän kautta $? ympäristömuuttuja, joka sisältää viimeisen ajokomennon poistumistila.
Sopimuksen mukaan poistumistila 0 osoittaa onnistuneen suorituksen, kun taas mikä tahansa muu kuin 0 tarkoittaa yleensä virhettä. Kuori saattaa myös ilmaista nollasta poikkeavan poistumistilan komentorivillä sen mukaan, miten kehote on määritetty.
Yllä oleva kuvakaappaus on esimerkki mukautetusta Zsh -kehotteesta, joka näyttää virheen poistumisen tilan 127, koska komento ei ole olemassa.
Nyt tiedät kuinka Linux -komennot toimivat
Nyt kun olet tietoinen siitä, miten Linux -kuori käsittelee komennon, haarukat ja execsit itse ja miten ohjelmat raportoivat poistumisestaan, voit käyttää komentoriviä tehokkaammin.
Useat Linux -kuoret ovat käyttäjien käytettävissä ilmaiseksi. Vaikka jokainen heistä suorittaa enemmän tai vähemmän samaa työtä, he ovat monilta osin erilaisia. Voit yrittää asentaa joitain kuoria järjestelmääsi ja päättää itse, mikä niistä sopii sinulle parhaiten.
Etsitkö Linux -bash -kuorivaihtoehtoa? Tässä on yhteenveto siitä, mikä Linux -kuori on paras: tsch, fish, KornShell ja Z Shell.
Lue seuraava
- Linux
- Linux -komennot
- Linux Bash Shell
David on freelance -kirjailija, joka sijaitsee Tyynenmeren luoteisosassa, mutta on alun perin kotoisin Bay Area -alueelta. Hän on ollut tekniikan harrastaja lapsuudesta lähtien. Davidin kiinnostuksen kohteisiin kuuluu lukeminen, laadukkaiden TV -ohjelmien ja elokuvien katselu, retropelit ja levyjen kerääminen.
tilaa uutiskirjeemme
Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e -kirjoja ja ainutlaatuisia tarjouksia!
Klikkaa tästä tilataksesi