GNU/Linux >> Znalost Linux >  >> Linux

UNIX / Linux:Co je to Shell? Jaké jsou různé Shelly?

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#


Linux
  1. Jaké jsou různé typy shellů v Linuxu?

  2. Co jsou řídké soubory v Linuxu

  3. Jaké jsou dobré knihy o Linuxu/Unixu pro pokročilé uživatele?

  1. Linux vs. Unix:Jaký je rozdíl?

  2. Migrace Unixu na Linux

  3. Linux – Jaké jsou různé způsoby nastavení oprávnění k souborům atd. na Gnu/linux?

  1. Co je uživatel Linuxu?

  2. Linux – Jsou různá jádra Linux/unix zaměnitelná?

  3. Co je umask v UNIX/Linux