De fleste Linux -brugere er ofte uvidende om operativsystemets interne funktion. Du kører muligvis Linux -kommandoer på skallen i lang tid, men har du nogensinde undret dig over, hvad der sker bag kulisserne, da du ramte Gå ind?

I slutningen har du en kort forståelse af, hvordan skallen behandler den indtastede kommando i Linux.

Behandler kommandoen

Når du indtaster en kommando, er det første, skallen gør, at bryde hele kommandoen i "tokens". Skallen vil derefter lede efter et programnavn, der tilhører det første token i kommandolinjen.

Hvis den ikke finder den i nogen af ​​bibliotekerne i søgestien defineret i $ PATH -miljøvariablen eller i det lokale bibliotek med .\ operatør, eller det er ikke en skalalias eller skalfunktion, giver skallen en fejl. Hvis den finder en gyldig kommando, vil skallen derefter gå igennem hver af de andre tokens og afgøre, om det er en variabel, en skalparameter eller et argument til kommandoen.

Hvis skallen bestemmer, at det er en variabel eller en parameter som

instagram viewer
~ operatør for hjemmemappen, vil skallen udvide dem eller erstatte dem med deres originale værdier i kommandoen.

Når skallen har udvidet eventuelle parametre eller variabler, vil den videregive kommandostrengen til kommandoen og køre programmet med dets argumenter. Skallen bestemmer ikke, om nogen argumenter er gyldige. Det er kommandoens opgave.

Kører kommandoen

Når skallen lancerer en anden kommando, hvordan kommer den tilbage til den samme prompt, du brugte før? Skallen laver en kopi af sig selv, en proces kaldet forgaffel. Denne kopi af skallen erstatter sig selv med kommandoen med alle de argumenter, der blev behandlet tidligere. Dette er kendt som en "exec", og den kombinerede proces er kendt som "fork-and-exec."

For eksempel når du kører kommandoen ls, skalprocessen gaffel sig selv ved hjælp af gaffel() metode og opret en anden shell -forekomst. Ud af de to skalprocesser, der kører på systemet, vil den ekstra skal udføre ls ved hjælp af exec () funktion, der forvandler sig til en forekomst af ls -kommandoen.

I mellemtiden venter den originale skal på, at kommandoen er fuldført. Det er derfor, du kan bruge jobkontrol til at suspendere job og få job til at køre i baggrunden i skallen.

Relaterede: Hvad er en proces i Linux?

Rapportering af udgangsstatus

Linux -kommandoer rapporterer, om de kørte med succes eller ej gennem deres exit -status. Som navnet antyder, rapporterer programmer deres exit -status, når de er færdige med at køre. De gør dette gennem $? miljøvariabel, som indeholder udgangsstatus for den sidste kørselskommando.

Efter konventionen angiver en exit -status på 0 en vellykket udførelse, mens alt andet end 0 normalt betyder en fejl. Din skal kan også angive en ikke-nul exit-status på kommandolinjen, afhængigt af hvordan din prompt er konfigureret.

Ovenstående skærmbillede er et eksempel, der viser en tilpasset Zsh -prompt, der viser en fejlafslutningsstatus på 127 på grund af en kommando, der ikke findes.

Nu ved du, hvordan Linux -kommandoer fungerer

Nu hvor du er opmærksom på, hvordan Linux -shell behandler en kommando, gafler og udfører selv, og hvordan programmer rapporterer deres exit -status, kan du gøre brug af kommandolinjen mere effektivt.

Flere Linux -skaller er tilgængelige for brugerne gratis. Mens hver af dem udfører mere eller mindre det samme job, er de forskellige i mange aspekter. Du kan prøve at installere nogle af skallerne på dit system og selv bestemme, hvilken der passer dig bedst.

DelTweetE -mail
Hvilken Linux -shell er bedst? 5 almindelige skaller sammenlignet

Leder du efter et Linux bash shell -alternativ? Her er en oversigt over hvilken Linux -shell der er bedst: tsch, fish, KornShell og Z Shell.

Læs Næste

Relaterede emner
  • Linux
  • Linux -kommandoer
  • Linux Bash Shell
Om forfatteren
David Delony (57 artikler udgivet)

David er freelance skribent baseret i det nordvestlige Stillehav, men stammer oprindeligt fra Bay Area. Han har været en teknologientusiast siden barndommen. Davids interesser omfatter læsning, se kvalitets -tv -shows og film, retrospil og pladesamling.

Mere fra David Delony

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere