Unix / Linux Shells 101

Autor: Eugene Taylor
Datum Vytvoření: 11 Srpen 2021
Datum Aktualizace: 22 Červen 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
Video: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

Obsah



Zdroj: Tomasz Bidermann / Dreamstime.com

Odnést:

Shiny Unix a Linux jsou velmi výkonné a mimořádně přizpůsobitelné.

Příkazový řádek v systémech Unix a Linux je již velmi silný, ale skořápky jsou ještě silnějším nástrojem, než se setká s okem. Můžete je přizpůsobit a přepnout na obsah vašeho srdce, pokud víte, jak na to.

Co je to skořápka?

Téměř každá příručka Unixu a Linuxu má standardní schéma skořepiny obalené kolem operačního systému, připomínající nějaký druh tyčinky. Shell opravdu není nic jiného než rozhraní mezi operačním systémem, včetně jádra, souborového systému a různých systémových volání a uživatele. Po mnoho let to bylo jediné interaktivní uživatelské rozhraní, než se grafické uživatelské rozhraní stalo běžným v 80. letech. Grafická uživatelská rozhraní lze také považovat za typ shellu, protože slouží mnoha stejným funkcím: spouštění programů, konfigurace systému a správa souborů.

Tato skromná rozhraní mají překvapivé množství energie. Jednak jsou to plnohodnotné programovací jazyky. Před objevením ještě výkonnějších skriptovacích jazyků, jako je Python, byly shellové skripty ideální pro psaní programů, které nutně nevyžadovaly sílu C. Stále jsou užitečné pro automatizaci systémových úloh a pro rychlé prototypování.

Mají také řadu funkcí, které usnadňují práci a hledání souborů. Jedním z nejčastěji používaných je „zástupné znaky“ nebo „globbing“. Téměř všichni uživatelé Unixu a Linuxu jsou s "*" zástupci obeznámeni, aby odpovídali jakékoli postavě. To je vlastně práce shellu. Různé náboje mají ještě silnější možnosti.

Jednou z charakteristických vlastností Unixu je schopnost přesměrovat vstup a výstup programu. Shell implementuje tuto funkci.

Shell je jen další program, takže je možné, aby jej vytvořil každý programátor se správnými dovednostmi. V průběhu let se objevilo několik hlavních granátů.

Historie a Roundup of Shell

Ačkoli v počátečních dnech operačního systému existovalo několik unixových granátů, první, kdo získal hlavní uznání mimo Bell Labs, byl Bourne Shell, pojmenovaný po Stephenu R. Bourne. Hlavní inovací skořápek bylo to, že podporovalo funkce strukturovaného programování, což umožnilo poprvé použít shell jako skutečný programovací jazyk. Je tak nepostradatelné, že jej všechny moderní verze unixových a linuxových verzí stále používají, i když je to obvykle jedna z novějších skořepin emulujících prostředí Bourne.

Další hlavní skořápka byla C Shell, běžně zkrácená na „csh“. Tato skořápka byla vyvinuta v UC Berkeley a stala se hlavní součástí příchuti Unixu BSD. Jak název napovídá, jeho syntaxe je navržena tak, aby připomínala programovací jazyk C, ale byla skutečně navržena pro interaktivní použití.

Zahrnoval mechanismus historie, který uživatelům umožňoval vrátit se a opakovat všechny příkazy, které vydali dříve, aniž by museli přepisovat celý řádek a vylepšené řízení úlohy, což usnadnilo provádění více úkolů. (Pamatujte, že to byl čas, kdy většina lidí stále používala terminály na bázi.)

Další hlavní skořápka byla Korn Shell, která také vyšla z Bell Labs. Shell byl mimochodem pojmenován podle Davida Korna, ne kapely. Hlavní novinkou korn shellu je zavedení editace z příkazové řádky, která ještě více rozšiřuje funkčnost historie. Uživatelé se mohou vrátit a upravit příkazy, které zadali, pomocí příkazů podobných editorům vi nebo Emacs.

Z hlavních granátů je Bourne Again Shell nebo bash nejoblíbenější od svého uvedení na konci 80. let. Tato skořápka, vyvinutá jako součást projektu GNU, zahrnuje inovace skořápek C a Korn při zachování kompatibility s skořápkou Bourne, odtud název. Je to „standardní“ shell ve většině distribucí Linuxu.

Z Shell (zsh), poprvé vydaný v roce 1990, je snem uživatele příkazového řádku. Nejen, že má většinu dalších hlavních funkcí, které mají ostatní skořepiny, ale je to šíleně přizpůsobitelné se spoustou výkonných funkcí. Jedním z nejvýkonnějších je rekurzivní globování, které uživatelům umožňuje porovnávat názvy souborů v podadresářích při vydávání příkazů, nikoli souborů v aktuálním pracovním adresáři. Opravdu pokročilí uživatelé mohou také přizpůsobit možnosti dokončení, odpovídající soubory, aniž by je museli vypisovat úplně. A pro pisatele s tlustými prsty může také opravit pravopis. Tento shell je tak pokročilý, jeho manuální stránka byla rozdělena do několika velmi dlouhých sekcí.

Skriptování

Jak již bylo zmíněno, shelly nejsou jen rozhraní příkazového řádku, ale výkonné programovací jazyky. Krása skriptování prostředí je v tom, že můžete používat stejný jazyk jak v běžném interaktivním použití, tak i ve skriptech, což dělá křivku učení mnohem plošší. Moderní skořepiny zahrnují všechny obvyklé funkce programovacího jazyka, včetně řízení toku, funkcí a proměnných. Několik z nich má dokonce pokročilé datové struktury, jako jsou asociativní pole.

Navzdory jejich síle má programování ve skořápce několik úskalí. Největším problémem je, že je příliš snadné psát skripty, které závisí na nějakém programu, který nemusí být na jiném systému, nebo který závisí na konkrétní variantě Unixu nebo Linuxu. Proto jsou shellové skripty nejvhodnější pro programy, o kterých víte, že budou spuštěny pouze na jednom systému. Pokud se pokoušíte vytvořit něco přenosného a nechcete psát program C, nejlepší volbou je psát v jiném skriptovacím jazyce, jako je Perl nebo Python.

Peek pod kapotou příkazového řádku Unix / Linux

Pod povrchem vašeho příkazového řádku Unix / Linux je více energie. Tento článek by vás mohl inspirovat k nahlédnutí pod kapotu vašeho oblíbeného prostředí, abyste viděli, co můžete opravdu udělat. Pokud se chcete dostat do skriptování prostředí, možná byste se měli podívat na knihy Unix Power Tools a Learning the Bash Shell. Originální papír Stephena R. Bournese o jeho skořápce také slouží jako dobrý úvod do světa skriptování prostředí, i když je starý.