A legtöbb Linux -felhasználó gyakran nincs tisztában az operációs rendszer belső működésével. Lehet, hogy hosszú ideig Linux parancsokat futtat a héjon, de elgondolkodott már azon, hogy mi történik a színfalak mögött, amikor leüt Belép?

A végére rövid ismerete lesz arról, hogyan dolgozza fel a shell a gépelt parancsot Linux alatt.

A parancs feldolgozása

Amikor beír egy parancsot, a héj első dolga, hogy az egész parancsot "tokenekre" bontja. A shell ezután a parancssor első tokenjéhez tartozó programnevet keres.

Ha nem találja a (z) -ben meghatározott keresési útvonal egyik könyvtárában sem $ PATH környezeti változó vagy a helyi könyvtárban a .\ operátor, vagy nem a shell alias vagy shell funkció, a shell hibát ad. Ha talál egy érvényes parancsot, akkor a shell átmegy a többi tokenen, és eldönti, hogy változó, shell paraméter vagy argumentum a parancshoz.

Ha a shell megállapítja, hogy változó vagy olyan paraméter, mint a ~ operátor a home könyvtárhoz, a shell kibővíti őket, vagy lecseréli őket a parancs eredeti értékeire.

Ha a shell kibővített bármilyen paramétert vagy változót, akkor a parancssor mentén továbbítja a parancsot, futtatva a programot az argumentumaival. A shell nem határozza meg, hogy érvényesek -e az érvek. Ez a parancs feladata.

A parancs futtatása

Amikor a shell elindít egy másik parancsot, hogyan tér vissza ugyanahhoz a parancssorhoz, amelyet korábban használt? A héj másolatot készít magáról, ezt a folyamatot villázásnak nevezik. A shell ezen példánya a paranccsal helyettesíti magát, a korábban feldolgozott összes érvvel. Ezt "exec" néven ismerik, a kombinált folyamatot pedig "fork-and-exec" néven.

Például amikor futsz az ls parancs, a shell folyamat villás lesz a segítségével Villa() metódust, és hozzon létre egy másik shell példányt. A rendszeren futó két shell folyamat közül a további shell az ls -t hajtja végre a exec () függvényt, átalakítva magát az ls parancs példányává.

Eközben az eredeti héj várja a parancs végrehajtását. Ezért használhatja a jobvezérlést a feladatok felfüggesztéséhez és a feladatok háttérben történő futtatásához.

Összefüggő: Mi a folyamat Linux alatt?

A kilépési állapot jelentése

A Linux parancsok jelentik, hogy sikeresen futottak -e vagy sem kilépési állapotukon keresztül. Ahogy a neve is sugallja, a programok a futás befejezése után jelentik kilépési állapotukat. Ezt a $? környezeti változó, amely tartalmazza az utolsó futtatás parancs kilépési állapotát.

Egyezmény szerint a 0 -as kilépési állapot sikeres végrehajtást jelez, míg a 0 -n kívül bármi általában hibát jelent. A parancsértelmező konfigurációjától függően a héja a nullától eltérő kilépési állapotot is jelezheti a parancssorban.

A fenti képernyőkép egy példa egy testreszabott Zsh parancssor megjelenítésére, amely 127 -es hiba kilépési állapotot mutat egy nem létező parancs miatt.

Most már tudja, hogyan működnek a Linux -parancsok

Most, hogy tisztában van azzal, hogy a Linux shell hogyan dolgozza fel a parancsokat, villákat és execeket, és hogyan jelentik a programok a kilépési állapotukat, hatékonyabban használhatja a parancssort.

Számos Linux héj áll a felhasználók rendelkezésére ingyen. Bár mindegyikük többé -kevésbé ugyanazt a munkát végzi, sok tekintetben különböznek egymástól. Megpróbálhat néhány héjat telepíteni a rendszerére, és eldöntheti, melyik illik a legjobban.

RészvényCsipogEmail
Melyik Linux Shell a legjobb? 5 közös kagyló összehasonlítva

Linux bash shell alternatívát keres? Íme, melyik Linux -shell a legjobb: tsch, fish, KornShell és Z Shell.

Olvassa tovább

Kapcsolódó témák
  • Linux
  • Linux parancsok
  • Linux Bash Shell
A szerzőről
David Delony (57 cikk megjelent)

David szabadúszó író, a Csendes -óceán északnyugati részén, de eredetileg a Bay Area -ból származik. Gyermekkora óta technológiai rajongó. David érdeklődése közé tartozik az olvasás, a minőségi tévéműsorok és filmek megtekintése, a retro játékok és a lemezgyűjtés.

Továbbiak David Delony -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, véleményeket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide