V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!
V tiskové zprávě k 18. narozeninám brzy najdete nové a zásadní informace.

Unixový shell

Z Multimediaexpo.cz


Unixový shell (též příkazový procesor, v doslovném překladu „unixová skořápka“) je název textového uživatelského rozhraní, které je předchůdcem grafického uživatelského rozhraní. Shell je spuštěn po přihlášení uživatele do systému, vytvoří příkazový řádek, pomocí kterého uživatel může počítač ovládat a jeho ukončením je uživatel ze systému odhlášen. Shell je tradičním rozhraním pro operační systém UNIX a Unixu podobné systémy, ve kterých si uživatel může vybrat z široké nabídky různých shellů. V operačním systému DOS existuje podobný, ale mnohem jednodušší program COMMAND.COM. V Microsoft Windows ho nahrazuje program cmd.exe, který se v poslední verzi systému Windows Vista unixovým shellům přibližuje.

Obsah

Příkazový řádek

Shell vytváří prostředí příkazového řádku, do kterého uživatel zadává názvy příkazů, které chce spustit. Shell tyto příkazy interpretuje, spouští odpovídající programy a umožňuje sledovat jejich výstup. Umožňuje příkazům předávat parametry, seskupovat je, slučovat příkazy do skriptů a podobně. Shell představuje „skořápku“, která skrývá uživateli detaily ovládání kernelu (jádra) operačního systému. Mnoho uživatelů unixových systémů dosud považuje moderní příkazový řádek shellu za mnohem pohodlnější způsob ovládání počítače než grafické uživatelské rozhraní. Příkazy se volají tak, že se napíše jméno příkazu a za něj parametry. Parametry se obvykle dělí na tři druhy:

  • krátké jednoznakové volby, uvozené pomlčkou. Je možné je spojovat: ls -lisa je volání příkazu ls s volbami l, i, s a a.
  • dlouhé volby, uvozené dvěma pomlčkami. Například ls --all nebo s parametrem volby ls --format=single-column. Speciální parametr -- obvykle znamená konec voleb, tedy že další parametr není volba i když začíná pomlčkou.
  • „obyčejné“ (neuvozené) parametry, obvykle jména souborů.

Před spuštěním příkazu provádí shell nad příkazovou řádkou několik transformací: nahrazuje proměnné jejich obsahem, rozbaluje wildcardové výrazy na seznamy jmen souborů, které jim odpovídají, rozdělení řádky na jednotlivé argumenty a další. Pokud napíše uživatel mv * dir, je to shell a nikoliv program mv, kdo nahradí hvězdičku (triviální příkaz wildcardového výrazu) seznamem všech souborů v aktuálním adresáři. Pokud chceme předat nějakému příkazu skutečně hvězdičku nebo jiný znak se zvláštním významem (např. mezera, která má zvláštní význam oddělování parametrů), nejjednodušší cestou je dát ji do uvozovek: shell při zpracování příkazové řádky uvozovky odstraní, ale jejich obsah ponechá nezměněný. V jednoduchých uvozovkách nemění vůbec nic, ve dvojitých stále nahrazuje proměnné. Přesné chování při zpracování příkazové řádky a seznam znaků se speciálním významem závisí na konkrétním shellu.

Různé shelly

Shell je z hlediska systému program, který je zpravidla spuštěn v okamžiku přihlášení uživatele do systému. Ve většině unixových systémů si uživatelé mohou vybrat shell, který chtějí použít. Nejdůležitějšími shelly jsou:

V raných verzích Unixu byl používán Bourne shell, který se stal de facto standardem; každý unixový systém má přinejmenším jeden shell kompatibilní s Bourne shellem. V souborové hierarchii je takový shell umístěn v /bin/sh. Na některých systémech, jako BSD, je /bin/sh Bourne shell nebo jeho ekvivalent, ale v ostatních systémech jako Linux je /bin/sh obvykle odkaz na kompatibilní, ale funkčně bohatší shell. Norma POSIX specifikuje standardní shell jako striktní podmnožinu Korn shellu. Shelly v Unixu mohou být rozděleny zhruba do čtyř kategorií: shelly podobné Bourne shellu, podobné C Shellu, netradiční a historické. Na většině unixových systémů můžete použít pro zjištění, jaký shell používáte, příkaz echo $SHELL.

Shelly kompatibilní s Bourne shellem

Shelly kompatibilní s C shellem

Netradiční

  • fish, „přátelský interaktivní shell“, prvně vydaný v roce 2005.
  • mudsh, inteligentní hře podobný shell, který funguje jako MUD.
  • zoidberg, napsaný, konfigurovaný a operující výhradně v Perlu
  • rc, standardní shell z Plan 9 from Bell Labs a Unixu 10, napsal Tom Duff.
  • scsh (Scheme Shell)

Historické

  • Thompson shell – První Unixový shell, napsal Ken Thompson v Bell Labs. Distribuován s verzemi Unixu od 1. do 6., od roku 1971 do 1975. Moderními standardy považován za základní a na současných systémech se již nepoužívá, ačkoli je dostupný jako část starých Unixových systémů.
  • PWB shell nebo také Mashey shell – Verze Thompsonova shellu, rozšířil John Mashey a ostatní, když byli v Bell Labs. Distribuována s Programmer’s Workbench UNIX okolo roku 1976.

Grafické shelly

Grafická uživatelská rozhraní pro Unix, například GNOME a KDE, jsou občas nazývána vizuální shell nebo grafický shell.

Příkazy v Unixu

Seznam standardních UNIXových a UN*Xových příkazů lze najít v samostatném článku seznam unixových utilit.

Odkazy

Literatura

  • Nešvera Šimon – Richta Karel – Zemánek Petr: Úvod do operačního systému UNIX. 1. vyd. Praha : České vysoké učení technické, 1991.
  • Dokumentační projekt – LINUX. 3. vydání, Computer Press 2003 (PDF).
  • Ellie Quigley (2001). Introduction to Unix shells. Prentice Hall PTR. ISBN 0-13-066538-X.

Související články

Externí odkazy