Mikä on Shell?

Shell on ohjelma, joka tarjoaa käyttöliittymän käyttäjän ja käyttöjärjestelmän (OS) ytimen välille. Käyttöjärjestelmä käynnistää kuoren jokaiselle käyttäjälle, kun käyttäjä kirjautuu sisään tai avaa päätelaitteen tai konsoli-ikkunan.

Ydin on ohjelma, joka:

  • Valvoo kaikkia tietokoneen toimintoja.
  • Koordinoi kaikkia suoritettavia apuohjelmia
  • Varmistaa, että suoritettavat apuohjelmat eivät häiritse toisiaan tai kuluta kaikkia järjestelmän resursseja.
  • Suunnittelee ja hallitsee kaikkia järjestelmän prosesseja.

Käyttökuorella on yhteys ytimeen, joten se tarjoaa käyttäjälle tavan suorittaa apuohjelmia ja ohjelmia.

Käyttäjäympäristö

Käyttökuorella on myös käyttäjäympäristö, jota voi muokata alustustiedostojen avulla. Nämä tiedostot sisältävät asetuksia käyttäjäympäristön ominaisuuksille, kuten:

  • Hakupolut komentojen etsimistä varten.
  • Uusien tiedostojen oletusoikeudet.
  • Muuttujien arvot, joita muut ohjelmat käyttävät.
  • Muuttujien arvot, joita voit räätälöidä.

Mitkä ovat erilaiset kuoret?

Seuraavissa osioissa kuvataan käyttöjärjestelmäkuoret (OS shells), jotka ovat saatavilla lähinnä UNIX/Linux-käyttöjärjestelmässä. Lisäksi kuvataan kuoren ominaisuuksia ja niiden oletuskehotteita.

Bourne-kuori

Bourne-kuori (sh), jonka kirjoitti Steve Bourne AT&T Bell Labsissa, on alkuperäinen UNIX-kuori. Se on suosituin komentotulkki komentotulkkiohjelmointiin kompaktiutensa ja nopeutensa vuoksi. Bourne-kuoren haittapuolena on, että siitä puuttuu vuorovaikutteiseen käyttöön tarkoitettuja ominaisuuksia, kuten mahdollisuus palauttaa aiemmat komennot (historia). Bourne-kuoressa ei myöskään ole sisäänrakennettua aritmeettisten ja loogisten lausekkeiden käsittelyä.

Bourne-kuori on Solaris-käyttöjärjestelmän oletuskuoressa. Se on Solaris-järjestelmänhallintakomentosarjojen vakiokuoretulkki. Bourne-kuoressa:

  • Komentojen täyden polun nimi on /bin/sh ja /sbin/sh.
  • Eiroot-käyttäjän oletuskehote on $.
  • Root-käyttäjän oletuskehote on #.

C-kuori

C-kuori (csh):

  • On Bill Joyn Berkeleyn Kalifornian yliopistossa kirjoittama UNIX-parannus.
  • Sisältää vuorovaikutteiseen käyttöön tarkoitettuja ominaisuuksia, kuten aliakset ja komentohistorian.
  • Sisältää käteviä ohjelmointiominaisuuksia, kuten sisäänrakennetun aritmetiikan ja C:n kaltaisen lausekesyntaksin.

C-kuoressa:

  • Komennon täyden polun nimi on /bin/csh.
  • Ei-root-käyttäjän oletusarvoinen komentokehote on isäntänimi %.
  • Root-käyttäjän oletuskehote on isäntänimi #.

Kornin komentosarja

Kornin komentosarja (ksh):

  • Kirjoitti David Korn AT&T:ssä Bell Labs:ssa
  • On Bournen komentosarjan supersarja.
  • Tukee kaikkea, mitä on myös Bournen komentosarjassa.
  • On interaktiivisia ominaisuuksia, jotka ovat verrattavissa C:n komentotulkin ominaisuuksiin.
  • Sisältää käteviä ohjelmointiominaisuuksia, kuten sisäänrakennettua aritmeettista laskentaa ja C:n kaltaisia matriiseja, funktioita ja merkkijonojen käsittelymahdollisuuksia.
  • On nopeampi kuin C-komentotulkki.
  • Käyttää Bourne-kuorta varten kirjoitettuja skriptejä.

Korn-kuorta varten:

  • Komennon koko polun nimi on /bin/ksh.
  • Non-root-käyttäjän oletusarvoinen komentokehote on $.
  • Root-käyttäjän oletusarvoisesti #.

The GNU Bourne-Again Shell

The GNU Bourne-Again shell (bash):

  • On yhteensopiva Bourne shellin kanssa.
  • Sisältää hyödyllisiä ominaisuuksia Korn- ja C-kuorista.
  • Osaa nuolinäppäimet, jotka on automaattisesti liitetty komentojen palauttamiseen ja muokkaamiseen.

GNU Bourne-Again shellin:

  • Komennon täyden polun nimi on /bin/bash.
  • Esimerkkikehote muulle kuin root-käyttäjälle on bash-x.xx$. (Jossa x.xx tarkoittaa komentotulkin versionumeroa. Esimerkiksi bash-3.50$)
  • Root-käyttäjän oletuskehote on bash-x.xx#. (Missä x.xx tarkoittaa komentotulkin versionumeroa. Esimerkiksi bash-3.50$#)

Tässä on lyhyt vertailu kaikista neljästä komentotulkista ja niiden ominaisuuksista.

Shell Path Default Prompt (non-pääkäyttäjä) Esimerkkikehote (pääkäyttäjä)
Bourne Shell (sh) /bin/sh ja /sbin/sh $ #
C Shell (csh) /bin/csh % #
The Korn Shell (ksh) /bin/ksh $ #
The GNU Bourne-ohjelmat.Again Shell (Bash) /bin/bash bash-x.xx$ bash-x.xx#

Vastaa

Sähköpostiosoitettasi ei julkaista.