Lielākā daļa Linux lietotāju bieži vien nezina par operētājsistēmas iekšējo darbību. Jūs, iespējams, jau ilgu laiku izpildāt apvalkā esošās Linux komandas, bet vai esat kādreiz domājuši, kas notiek aizkadrā, kad nokļūstat Ievadiet?

Beigās jums būs īsa izpratne par to, kā apvalks apstrādā ievadīto komandu Linux.

Komandas apstrāde

Ievadot komandu, pirmā lieta, ko apvalks dara, ir sadalīt visu komandu "žetonos". Pēc tam apvalks komandrindā meklēs programmas nosaukumu, kas pieder pirmajam marķierim.

Ja tas to neatrod nevienā no direktorijiem meklēšanas ceļā, kas definēts $ PATH vides mainīgais vai vietējā direktorijā ar .\ operators, vai tas nav a čaulas aizstājvārds vai apvalka funkcija, apvalks radīs kļūdu. Ja tā atrod derīgu komandu, tad apvalks izies cauri visiem citiem marķieriem un izlems, vai tas ir mainīgais, apvalka parametrs vai komandas arguments.

Ja apvalks nosaka, ka tas ir mainīgais vai tāds parametrs kā ~ mājas direktorija operatoram, apvalks tos izvērsīs vai komandā aizstās ar sākotnējām vērtībām.

Kad apvalks ir paplašinājis jebkādus parametrus vai mainīgos, tas pa komandu virkni tiks nodots komandai, palaižot programmu ar tās argumentiem. Apvalks nenosaka, vai kādi argumenti ir derīgi. Tas ir komandas uzdevums.

Vada komandu

Kad apvalks palaiž citu komandu, kā tas atgriežas tajā pašā uzvednē, kuru izmantojāt iepriekš? Apvalks pats par sevi izveido kopiju, ko sauc par dakšu. Šī apvalka kopija aizstāj sevi ar komandu ar visiem argumentiem, kas tika apstrādāti iepriekš. Tas ir pazīstams kā "izpildītājs", un kombinētais process ir pazīstams kā "dakša un izpilde".

Piemēram, skrienot komanda ls, čaulas process dakšas pats, izmantojot dakša () metodi un izveidojiet citu čaulas gadījumu. No diviem sistēmā esošajiem čaulas procesiem papildu apvalks izpildīs ls, izmantojot izpildītājs () funkciju, pārveidojot sevi par komandas ls instanci.

Tikmēr sākotnējais apvalks gaida komandas izpildi. Šī iemesla dēļ jūs varat izmantot uzdevumu kontroli, lai apturētu darbus un palaistu darbus fonā.

Saistīts: Kas ir process Linux?

Ziņošana par izejas statusu

Linux komandas ziņo, vai tās ir veiksmīgi vai nē, izmantojot izejas statusu. Kā norāda nosaukums, programmas ziņo par savu izejas statusu, kad tās beidz darboties. Viņi to dara, izmantojot $? vides mainīgais, kurā ir pēdējās izpildes komandas izejas statuss.

Pēc vienošanās izejas statuss 0 norāda uz veiksmīgu izpildi, bet viss, kas nav 0, parasti nozīmē kļūdu. Jūsu apvalks komandrindā var norādīt arī izejas statusu, kas nav nulle, atkarībā no tā, kā tiek konfigurēta uzvedne.

Iepriekš redzamais ekrānuzņēmums ir piemērs, kurā parādīta pielāgota Zsh uzvedne, kas parāda kļūdas izejas statusu 127, jo komanda neeksistē.

Tagad jūs zināt, kā darbojas Linux komandas

Tagad, kad esat informēts par to, kā Linux apvalks apstrādā komandu, dakšas un execs un kā programmas ziņo par izejas statusu, varat efektīvāk izmantot komandrindu.

Vairāki Linux apvalki lietotājiem ir pieejami bez maksas. Lai gan katrs no viņiem veic vairāk vai mazāk vienu un to pašu darbu, tie ir atšķirīgi daudzos aspektos. Jūs varat mēģināt instalēt dažus apvalkus savā sistēmā un pats izlemt, kurš no tiem jums vislabāk atbilst.

KopīgotČivinātE -pasts
Kurš Linux apvalks ir labākais? 5 kopējās čaulas, salīdzinot

Vai meklējat Linux bash apvalka alternatīvu? Šeit ir aprakstīts, kurš Linux apvalks ir labākais: tsch, fish, KornShell un Z Shell.

Lasīt Tālāk

Saistītās tēmas
  • Linux
  • Linux komandas
  • Linux Bash Shell
Par autoru
Deivids Delonijs (57 raksti publicēti)

Deivids ir ārštata rakstnieks, kas atrodas Klusā okeāna ziemeļrietumos, bet sākotnēji nāk no līča apgabala. Kopš bērnības viņš ir tehnoloģiju entuziasts. Deivida intereses ietver lasīšanu, kvalitatīvu TV šovu un filmu skatīšanos, retro spēles un ierakstu vākšanu.

Vairāk no Deivida Delonija

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu