Dauguma „Linux“ vartotojų dažnai nežino apie vidinį operacinės sistemos veikimą. Galbūt ilgą laiką vykdote „Linux“ komandas apvalkale, bet ar kada susimąstėte, kas vyksta užkulisiuose, kai paspausite Įveskite?

Pabaigoje turėsite trumpą supratimą apie tai, kaip apvalkalas apdoroja įvestą komandą „Linux“.

Komandos apdorojimas

Kai įvedate komandą, pirmas dalykas, kurį apvalkalas daro, yra suskaidyti visą komandą į „žetonus“. Tada apvalkalas ieškos programos pavadinimo, priklausančio pirmajam komandinės eilutės žetonui.

Jei jo neranda jokiame kataloge, nurodytame paieškos kelyje $ PATH aplinkos kintamasis arba vietiniame kataloge su .\ operatorius, arba tai ne a apvalkalo slapyvardis arba apvalkalo funkcija, apvalkalas duos klaidą. Jei jis randa galiojančią komandą, apvalkalas pereis per visus kitus žetonus ir nuspręs, ar tai kintamasis, apvalkalo parametras, ar komandos argumentas.

Jei apvalkalas nustato, kad tai kintamasis arba toks parametras kaip ~ namų katalogo operatorius, apvalkalas juos išplės arba pakeis komandoje esančiomis pradinėmis reikšmėmis.

instagram viewer

Kai apvalkalas išplės bet kokius parametrus ar kintamuosius, jis perduos komandų eilutę komandai, paleisdamas programą su jos argumentais. Korpusas nenustato, ar kokie nors argumentai yra teisingi. Tai komandų darbas.

Vykdo komandą

Kai apvalkalas paleidžia kitą komandą, kaip ji grįžta į tą patį raginimą, kurį naudojote anksčiau? Korpusas daro savo kopiją, tai procesas, vadinamas šakia. Ši apvalkalo kopija pakeičiama komanda su visais argumentais, kurie buvo apdoroti anksčiau. Tai vadinama „vykdytoju“, o kombinuotas procesas vadinamas „šakute ir vykdymu“.

Pavyzdžiui, kai bėgi komanda ls, apvalkalo procesas išsišakos pats naudojant šakutė () metodą ir sukurkite kitą apvalkalo egzempliorių. Iš dviejų sistemoje veikiančių apvalkalo procesų papildomas apvalkalas vykdys ls naudodami vykdytojas () funkcija, paversdama save komandos ls egzemplioriumi.

Tuo tarpu originalus apvalkalas laukia, kol komanda bus įvykdyta. Štai kodėl galite naudoti užduočių valdymą, kad sustabdytumėte užduotis ir atliktumėte užduotis fone.

Susijęs: Kas yra procesas „Linux“?

Pranešimas apie išėjimo būseną

„Linux“ komandos praneša, ar jos sėkmingai veikė, ar ne, per išėjimo būseną. Kaip rodo pavadinimas, programos praneša apie savo išėjimo būseną, kai baigia veikti. Jie tai daro per $? aplinkos kintamasis, kuriame yra paskutinio vykdymo komandos išėjimo būsena.

Pagal susitarimą išėjimo būsena 0 rodo sėkmingą vykdymą, o bet kas, išskyrus 0, paprastai reiškia klaidą. Jūsų apvalkalas taip pat gali nurodyti ne nulinės išėjimo būseną komandų eilutėje, atsižvelgiant į tai, kaip sukonfigūruotas jūsų raginimas.

Aukščiau pateikta ekrano kopija yra pavyzdys, rodantis pritaikytą „Zsh“ raginimą, rodantį 127 klaidos išėjimo būseną dėl neegzistuojančios komandos.

Dabar jūs žinote, kaip veikia „Linux“ komandos

Dabar, kai žinote, kaip „Linux“ apvalkalas apdoroja komandą, šakutes ir vykdomuosius failus ir kaip programos praneša apie išėjimo būseną, galite efektyviau naudotis komandine eilute.

Keli „Linux“ apvalkalai vartotojams yra prieinami nemokamai. Nors kiekvienas iš jų atlieka daugmaž tą patį darbą, jie skiriasi daugeliu aspektų. Galite pabandyti įdiegti kai kuriuos apvalkalus savo sistemoje ir patys nuspręsti, kuris iš jų jums labiausiai tinka.

Dalintis„Tweet“Paštu
Kuris „Linux“ apvalkalas yra geriausias? Palyginti 5 bendri apvalkalai

Ieškote „Linux bash shell“ alternatyvos? Čia pateikiamas geriausias „Linux“ apvalkalas: „tsch“, „fish“, „KornShell“ ir „Z Shell“.

Skaityti toliau

Susijusios temos
  • Linux
  • „Linux“ komandos
  • „Linux Bash Shell“
Apie autorių
Davidas Delony (Paskelbti 57 straipsniai)

Davidas yra laisvai samdomas rašytojas, įsikūręs Ramiojo vandenyno šiaurės vakaruose, bet iš pradžių kilęs iš Bay Area. Nuo vaikystės jis buvo technologijų entuziastas. Deivido pomėgiai apima skaitymą, kokybiškų televizijos laidų ir filmų žiūrėjimą, retro žaidimus ir įrašų rinkimą.

Daugiau iš Davido Delony

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia