Mi a Shell?

A shell egy olyan program, amely interfészt biztosít a felhasználó és az operációs rendszer (OS) magja között. Az operációs rendszer minden felhasználó számára elindít egy héjat, amikor a felhasználó bejelentkezik, vagy megnyit egy terminált vagy konzolablakot.

A rendszermag olyan program, amely:

  • A számítógép összes műveletét irányítja.
  • Koordinálja az összes futtatott segédprogramot
  • Ez biztosítja, hogy a futtatott segédprogramok ne zavarják egymást, és ne használják fel az összes rendszererőforrást.
  • Evezeti és kezeli az összes rendszerfolyamatot.

A kernelhez kapcsolódva a héj lehetőséget biztosít a felhasználó számára a segédprogramok és programok futtatására.

Felhasználói környezet

A héj egy felhasználói környezetet is biztosít, amelyet inicializálási fájlok segítségével testre szabhatunk. Ezek a fájlok a felhasználói környezet jellemzőinek beállításait tartalmazzák, például:

  • Keresési útvonalak a parancsok kereséséhez.
  • Az új fájlok alapértelmezett engedélyei.
  • A más programok által használt változók értékei.
  • Az értékek testre szabhatók.

Melyek a különböző héjak?

A következő szakaszok a főként UNIX/Linux operációs rendszeren elérhető OS-héjakat ismertetik. A héjak jellemzőit és alapértelmezett parancskéréseiket is ismertetjük.

A Bourne héj

A Bourne héj (sh), amelyet Steve Bourne írt az AT&T Bell Labs-nál, az eredeti UNIX héj. Kompaktsága és gyorsasága miatt ez a legkedveltebb shell a shell programozáshoz. A Bourne-héj hátránya, hogy hiányoznak belőle az interaktív használathoz szükséges funkciók, mint például a korábbi parancsok felidézésének lehetősége (history). A Bourne héjból hiányzik a beépített aritmetikai és logikai kifejezések kezelése is.

A Bourne héj a Solaris OS alapértelmezett héja. Ez a Solaris rendszerfelügyeleti szkriptek szabványos héja. A Bourne héj esetében a:

  • A parancs teljes elérési útjának neve /bin/sh és /sbin/sh.
  • A nem root felhasználó alapértelmezett promptja a $.
  • A root felhasználó alapértelmezett promptja a #.

A C héj

A C héj (csh):

  • Egy UNIX-fejlesztés, amelyet Bill Joy írt a Berkeley-i Kaliforniai Egyetemen.
  • Az interaktív használatra szolgáló funkciókat, például az aliasokat és a parancstörténetet tartalmazza.
  • Kényelmes programozási funkciókat tartalmaz, mint például a beépített aritmetika és a C-szerű kifejezés szintaxis.

A C héj esetében a:

  • A parancs teljes elérési útja a /bin/csh.
  • Nem root felhasználó alapértelmezett promptja a hostname %.
  • Root felhasználó alapértelmezett promptja a hostnév #.

A Korn shell

A Korn shell (ksh):

  • A David Korn írta az AT&T Bell Labs-nél
  • A Bourne shell szuperkészlete.
  • Támogatja a Bourne shell minden elemét.
  • A C shell-hez hasonló interaktív funkciókkal rendelkezik.
  • Kényelmes programozási funkciókat tartalmaz, mint a beépített aritmetika és a C-hez hasonló tömbök, függvények és karakterlánc-kezelési lehetőségek.
  • Gyorsabb, mint a C shell.
  • A Bourne héjhoz írt szkripteket futtat.

A Korn héj esetében a:

  • A parancs teljes elérési útjának neve /bin/ksh.
  • A nem root felhasználó alapértelmezett promptja a $.
  • A root felhasználó alapértelmezett promptja a #.

A GNU Bourne-Again shell

A GNU Bourne-Again shell (bash):

  • Kompatibilis a Bourne shell-el.
  • A Korn és C shell hasznos funkcióit tartalmazza.
  • A parancsok előhívásához és szerkesztéséhez automatikusan hozzárendelt nyílbillentyűkkel rendelkezik.

A GNU Bourne-Again shell esetében a:

  • A parancs teljes elérési útjának neve /bin/bash.
  • A nem root felhasználó számára az alapértelmezett prompt a bash-x.xx$. (Ahol x.xx a shell verziószámát jelöli. Például bash-3.50$)
  • Root felhasználó alapértelmezett promptja a bash-x.xx#. (Ahol x.xx a shell verziószámát jelöli. Például: bash-3.50$#)

Itt van egy rövid összehasonlítás mind a 4 shellről és tulajdonságaikról.

Shell Path Default Prompt (non-root felhasználó) Egyértelmezett súgó (root felhasználó)
A Bourne Shell (sh) /bin/sh és /sbin/sh $ #
A C Shell (csh) /bin/csh % #
A Korn Shell (ksh) /bin/ksh $ #
A GNU Bourne-kezelő program.Again Shell (Bash) /bin/bash bash-x.xx$ bash-x.xx#

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.