Co je shell?

Shell je program, který poskytuje rozhraní mezi uživatelem a jádrem operačního systému (OS). Operační systém spouští shell pro každého uživatele, když se uživatel přihlásí nebo otevře terminálové či konzolové okno.

Jádro je program, který:

  • Řídí všechny operace počítače.
  • Koordinuje všechny prováděné nástroje
  • Zajišťuje, aby se prováděné nástroje navzájem nerušily a nespotřebovávaly všechny systémové prostředky.
  • Rozvrhuje a řídí všechny systémové procesy.

Prostřednictvím rozhraní s jádrem poskytuje shell uživateli možnost spouštět nástroje a programy.

Uživatelské prostředí

Prostředí shellu poskytuje také uživatelské prostředí, které lze přizpůsobit pomocí inicializačních souborů. Tyto soubory obsahují nastavení vlastností uživatelského prostředí, jako jsou:

  • Vyhledávací cesty pro vyhledávání příkazů.
  • Výchozí oprávnění pro nové soubory.
  • Hodnoty proměnných, které používají ostatní programy.
  • Hodnoty, které si můžete přizpůsobit.

Jaké jsou různé shelly?

Následující části popisují shelly operačních systémů, které jsou většinou dostupné v operačním systému UNIX/Linux. Popsány jsou také funkce shellu a jejich výchozí výzvy.

The Bourne Shell

The Bourne shell (sh), napsaný Stevem Bournem v AT&T Bell Labs, je původní shell systému UNIX. Je to preferovaný shell pro programování v shellu díky své kompaktnosti a rychlosti. Nevýhodou Bourneova shellu je, že postrádá funkce pro interaktivní použití, například možnost vyvolání předchozích příkazů (historie). Bourne shell také postrádá vestavěné zpracování aritmetických a logických výrazů.

Bourne shell je výchozím shellem operačního systému Solaris. Je to standardní shell pro skripty správy systému Solaris. Pro shell Bourne platí:

  • Jméno plné cesty příkazu je /bin/sh a /sbin/sh.
  • Výchozí výzva uživatele bez rootu je $.
  • Výchozí výzva uživatele s rootem je #.

Pouzdro C

Pouzdro C (csh):

  • Je vylepšení systému UNIX, které napsal Bill Joy na Kalifornské univerzitě v Berkeley.
  • Obsahuje funkce pro interaktivní použití, například aliasy a historii příkazů.
  • Obsahuje pohodlné programovací funkce, jako je vestavěná aritmetika a syntaxe výrazů podobná jazyku C.

Pro shell C:

  • Jméno plné cesty příkazu je /bin/csh.
  • Výchozí výzva uživatele bez roota je hostname %.
  • Výchozí výzva uživatele root je hostname #.

Pouzdro Korn

Pouzdro Korn (ksh):

  • Napsal ho David Korn v AT&T Bell Labs
  • Je nadmnožinou prostředí Bourne.
  • Podporuje vše, co prostředí Bourne.
  • Má interaktivní funkce srovnatelné s funkcemi shellu C.
  • Obsahuje pohodlné programovací funkce, jako je vestavěná aritmetika a pole, funkce a prostředky pro manipulaci s řetězci podobné jazyku C.
  • Je rychlejší než shell C.
  • Spustí skripty napsané pro shell Bourne.

Pro shell Korn platí:

  • Jméno plné cesty příkazu je /bin/ksh.
  • Výchozí výzva uživatele bez roota je $.
  • Výchozí výzva uživatele s rootem je #.

Pouzdro GNU Bourne-Again

Pouzdro GNU Bourne-Again (bash):

  • Je kompatibilní s Bourneovým prostředím.
  • Obsahuje užitečné funkce z prostředí Korn a C.
  • Pouzdro GNU Bourne-Again je kompatibilní s Bourneovým prostředím.
  • Má šipky, které jsou automaticky mapovány pro vyvolání a úpravu příkazů.

Pro shell GNU Bourne-Again:

  • Jméno plné cesty příkazu je /bin/bash.
  • Výchozí výzva pro uživatele, který není root, je bash-x.xx$. (Kde x.xx označuje číslo verze shellu. Například bash-3.50$)
  • Výchozí výzva uživatele root je bash-x.xx#. (Kde x.xx označuje číslo verze shellu. Například bash-3.50$#)

Tady je krátké srovnání všech 4 shellů a jejich vlastností.

Shell Path Výchozí výzva (ne.uživatel root) Výchozí výzva (uživatel root)
Pouzdro Bourne (sh) /bin/sh a /sbin/sh $ #
Pouzdro C Shell (csh) /bin/csh % #
The Korn Shell (ksh) /bin/ksh $ #
The GNU Bourne-Shell (Bash) /bin/bash bash-x.xx$ bash-x.xx#

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.