Shell (Unix rendszerhéj)

botond küldte be 2018. 09. 25., k - 20:20 időpontban

A számítástechnikában shell-nek nevezzük azt a kezelőfelületet, ami értelmezi a begépelt parancsokat és továbbítja azokat az operációs rendszer magjának, azaz a kernelnek. Általában az Unix és az Unix-szerű operációs rendszereken használják, ezért magyarul Unix rendszerhéj-nak is szokták hívni. Héjként azért nevezik, mert ez az operációs rendszer kernelének legkülső rétege.

A rendszerhéj megköveteli, hogy a felhasználó jártas legyen a parancsok és azok működtetési szintaxisában, valamint hogy megértse a shell-specifikus parancsfájlokkal kapcsolatos fogalmakat (mint például a Bash szkriptek).

A parancssori felületen (CLI) kívül az operációs rendszer irányítható a grafikus felületen keresztül is, amely nem igényel akkora szaktudást, azonban jobban leterheli a számítógép erőforrásait. Ezért a Unix / Linux kiszolgálók többségén csak parancssori felületet használnak, amelyek kisebb erőforrást igényelnek, stabilabbak és gyorsabbak.

Az operációs rendszerek különböző szolgáltatásokat nyújtanak felhasználóik számára, beleértve a fájlkezelést, a folyamatkezelést (alkalmazások futtatása és befejezése), a kötegelt feldolgozást és az operációs rendszer felügyeletét és konfigurálását.

A legtöbb operációs rendszer héja nem közvetlenül kapcsolódik az alatta lévő rendszermaghoz, még akkor sem, ha egy héj közvetlenül kommunikál a felhasználóval a számítógéphez csatlakoztatott perifériás eszközökön keresztül. A shellek valójában olyan speciális alkalmazások, amelyek a kernel API-t ugyanúgy használják, mint más programok. A shell kezeli a felhasználó-rendszer közötti interakciót, bekéri a felhasználótól a parancsokat, értelmezi a kapott bemenetet, és visszaadja az operációs rendszertől visszakapott választ a kimenetére. Mivel az operációs rendszer héja is egy alkalmazás, könnyen helyettesíthető egy másik héj alkalmazással.

Az Unix-típusú operációs rendszereken a felhasználók többféle shell közül is választhatnak, amelyek egyedi tulajdonságokkal is rendelkeznek, hogy könnyebben lehessen megoldani velük a különböző feladattípusokat, de közösen mindegyik elvégzi az operációs rendszerbe történő bejelentkezés utáni fontos folyamatok elindítását, hogy a rendszer használatra kész állapotba kerülhessen.

A Unix-rendszerhéjak között a legelterjedtebb a Bash (Bourne Again Shell), de ezen kívül van még pár ismertebb:

  • Bourne shell
  • Dash
  • csh
  • ksh
  • zsh
  • PowerShell (Windows)