Co je to Shell?
Shell je program, který poskytuje rozhraní mezi uživatelem a jádrem operačního systému (OS). OS spustí shell pro každého uživatele, když se uživatel přihlásí nebo otevře okno terminálu nebo konzoly.
Jádro je program, který:
- Ovládá všechny operace počítače.
- Koordinuje všechny spouštěcí nástroje
- Zajišťuje, že se spouštěcí nástroje vzájemně neovlivňují a nespotřebovávají všechny systémové prostředky.
- Plánuje a spravuje všechny systémové procesy.
Díky propojení s jádrem poskytuje shell uživateli způsob, jak spouštět nástroje a programy.
Uživatelské prostředí
Shell také poskytuje uživatelské prostředí, které si můžete přizpůsobit pomocí inicializačních souborů. Tyto soubory obsahují nastavení charakteristik uživatelského prostředí, jako například:
- Hledejte cesty pro hledání příkazů.
- Výchozí oprávnění k novým souborům.
- Hodnoty pro proměnné, které používají jiné programy.
- Hodnoty, které můžete přizpůsobit.
Jaké jsou různé shelly?
Následující části popisují OS shelly většinou dostupné v operačním systému UNIX/Linux. Popisují se také funkce prostředí a jejich výchozí výzvy.
1. Bourne Shell
Bourne shell (sh), napsaný Stevem Bournem z AT&T Bell Labs, je původní unixový shell. Je to preferovaný shell pro programování shellu kvůli jeho kompaktnosti a rychlosti. Nevýhodou Bourne shellu je, že postrádá funkce pro interaktivní použití, jako je schopnost vyvolat předchozí příkazy (historii). Bourne shell také postrádá vestavěnou aritmetiku a zpracování logických výrazů.
Bourne shell je výchozí shell operačního systému Solaris. Je to standardní shell pro skripty pro správu systému Solaris. Pro Bourne shell:
- Úplný název příkazu je /bin/sh a /sbin/sh .
- Výchozí výzva pro uživatele bez oprávnění root je $ .
- Výchozí výzva uživatele root je # .
2. C Shell
C shell (csh):
- Je to vylepšení systému UNIX, jehož autorem je Bill Joy na University of California v Berkeley.
- Začleněné funkce pro interaktivní použití, jako jsou aliasy a historie příkazů .
- Zahrnuje pohodlné programovací funkce, jako je vestavěná aritmetika a syntaxi výrazu podobnou C .
Pro shell C:
- Úplný název příkazu je /bin/csh .
- Výchozí výzva pro uživatele bez oprávnění root je název hostitele % .
- Výchozí výzva uživatele root je název hostitele # .
3. Korn Shell
Korn shell (ksh):
- Napsal David Korn v AT&T Bell Labs
- Je nadmnožinou Bourne shellu.
- Podporuje vše v Bourne shellu.
- Má interaktivní funkce srovnatelné s těmi v prostředí C.
- Zahrnuje pohodlné programovací funkce, jako je vestavěná aritmetika a pole podobná C , funkce a zařízení pro manipulaci s řetězci .
- Je rychlejší než prostředí C.
- Spouští skripty napsané pro Bourne shell.
Pro shell Korn:
- Úplný název příkazu je /bin/ksh .
- Výchozí výzva pro uživatele bez oprávnění root je $ .
- Výchozí výzva uživatele root je # .
4. GNU Bourne-Again Shell
Shell GNU Bourne-Again (bash):
- Je kompatibilní s Bourne shellem.
- Zahrnuje užitečné funkce z prostředí Korn a C.
- Má klávesy se šipkami, které jsou automaticky mapovány pro vyvolání a úpravy příkazů.
Pro shell GNU Bourne-Again:
- Úplný název příkazu je /bin/bash .
- Výchozí výzva pro uživatele bez oprávnění root je bash-x.xx$ . (kde x.xx označuje číslo verze prostředí. 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$#)
Zde je krátké srovnání všech 4 skořápek a jejich vlastností.
Shell | Cesta | Výchozí výzva (uživatel bez oprávnění root) | Výchozí výzva (uživatel root) |
---|---|---|---|
Bourne Shell (sh) | /bin/sh a /sbin/sh | $ | # |
C Shell (csh) | /bin/csh | % | # |
Korn Shell (ksh) | /bin/ksh | $ | # |
The GNU Bourne-Again Shell (Bash) | /bin/bash | bash-x.xx$ | bash-x.xx# |