Shiny Unix / Linux 101

Autor: Eugene Taylor
Dátum Stvorenia: 11 August 2021
Dátum Aktualizácie: 22 V Júni 2024
Anonim
Курсы UNIX (Linux/FreeBSD) в Центре "Специалист"
Video: Курсы UNIX (Linux/FreeBSD) в Центре "Специалист"

Obsah



Zdroj: Tomasz Bidermann / Dreamstime.com

Zobrať:

Shiny Unix a Linux sú veľmi výkonné a mimoriadne prispôsobiteľné.

Príkazový riadok v systémoch Unix a Linux je už veľmi výkonný, ale škrupiny sú ešte silnejším nástrojom, ako sa stretáva s okom. Môžete ich prispôsobiť a prepnúť ich na obsah svojho srdca, pokiaľ viete ako.

Čo je to škrupina?

Takmer každá príručka k systémom Unix a Linux má štandardnú schému obalu okolo operačného systému, ktorá pripomína nejaký druh cukroviniek. Shell v skutočnosti nie je nič iné ako rozhranie medzi operačným systémom, vrátane jadra, súborového systému a rôznych systémových volaní a užívateľa. Po mnoho rokov to bolo jediné interaktívne užívateľské rozhranie predtým, ako sa grafické užívateľské rozhrania stali bežnými v 80-tych rokoch. Grafické užívateľské rozhrania by sa tiež mohli považovať za typ shellu, pretože slúžia mnohým rovnakým funkciám: spúšťanie programov, konfigurácia systému a správa súborov.

Tieto skromné ​​rozhrania majú prekvapivé množstvo energie. Jednak ide o plnohodnotné programovacie jazyky. Pred objavením ešte výkonnejších skriptovacích jazykov, ako je Python, boli shellové skripty ideálne na písanie programov, ktoré nevyhnutne nevyžadovali výkon C. Stále sú užitočné pre automatizáciu systémových úloh a pre rýchle prototypovanie.

Majú tiež množstvo funkcií, ktoré uľahčujú prácu s súbormi a vyhľadávanie súborov. Jedným z najčastejšie používaných je „zástupné znaky“ alebo „globbing“. Takmer všetci používatelia Unixu a Linuxu poznajú zástupné znaky „*“, aby sa zhodovali s akoukoľvek postavou. Toto je vlastne práca shellu. Rôzne mušle majú ešte silnejšie možnosti.

Jednou z charakteristických čŕt Unixu je možnosť presmerovania vstupu a výstupu programu. Shell implementuje túto funkciu.

Škrupina je len ďalší program, takže každý programátor so správnymi schopnosťami si ho môže vytvoriť. V priebehu rokov sa objavilo niekoľko veľkých škrupín.

História a zhrnutie mušlí

Aj keď v počiatočných dňoch operačného systému existovalo niekoľko unixových škrupín, prvým, ktorý získal veľké uznanie mimo Bell Labs, bol Bourne Shell, pomenovaný po Stephanovi R. Bourne. Hlavnou inováciou škrupín bolo, že podporoval funkcie štruktúrovaného programovania, čo umožnilo po prvý krát použiť škrupinu ako skutočný programovací jazyk. Je také nevyhnutné, aby ho všetky moderné verzie Unixu a Linuxu stále používali, hoci je to zvyčajne jedna z novších škrupín emulujúcich prostredie Bourne.

Ďalším hlavným plášťom bol C Shell, bežne skrátene „csh“. Táto škrupina bola vyvinutá v UC Berkeley a stala sa hlavnou súčasťou príchuti Unixu BSD. Ako už názov napovedá, jeho syntax je navrhnutá tak, aby sa podobala programovaciemu jazyku C, ale bola skutočne navrhnutá na interaktívne použitie.

Zahŕňal mechanizmus histórie, ktorý umožňoval používateľom vrátiť sa a opakovať všetky príkazy, ktoré vydali skôr, bez toho, aby museli prepisovať celý riadok a vylepšené riadenie úloh, čo uľahčilo vykonávanie viacerých úloh. (Pamätajte, že to bol čas, keď väčšina ľudí stále používala terminály založené na báze.)

Ďalším hlavným plášťom bol Korn Shell, ktorý tiež vyšiel z Bell Labs. Škrupina bola mimochodom pomenovaná podľa Davida Korna, nie kapela. Hlavnou inováciou shellu Korn je zavedenie príkazového riadku, ktoré ešte viac rozširuje funkčnosť histórie. Používatelia sa môžu vrátiť a upraviť príkazy, ktoré zadali, pomocou príkazov podobných editorom vi alebo Emacs.

Z hlavných škrupín je Bourne Again Shell alebo bash najobľúbenejší od svojho zavedenia na konci 80. rokov. Táto škrupina, vyvinutá ako súčasť projektu GNU, obsahuje inovácie škrupín C a Korn pri zachovaní kompatibility s škrupinou Bourne, odtiaľ názov. Je to „štandardný“ shell vo väčšine distribúcií Linuxu.

Z Shell (zsh), prvýkrát vydaný v roku 1990, je snom používateľského príkazového riadku. Má nielen väčšinu ďalších hlavných funkcií, ktoré majú ostatné mušle, ale je šialene prispôsobiteľné s množstvom výkonných funkcií. Jedným z najvýkonnejších je rekurzívne globovanie, ktoré používateľom umožňuje porovnávať názvy súborov v podadresároch pri vydávaní príkazov a nie súborov v aktuálnom pracovnom adresári. Skutočne pokročilí používatelia môžu tiež prispôsobiť možnosti dokončenia, zodpovedajúce súbory bez toho, aby ich museli písať úplne. A pre pisárov s tlstými prstami môže tiež opraviť pravopis. Tento shell je tak pokročilý, jeho stránka manuálu bola rozdelená do niekoľkých veľmi dlhých sekcií.

Scripting

Ako už bolo spomenuté, škrupiny nie sú iba rozhraniami príkazového riadku, ale výkonnými programovacími jazykmi. Krása skriptovania shellu spočíva v tom, že môžete používať rovnaký jazyk pri pravidelnom interaktívnom používaní, ako aj v skriptoch, vďaka čomu je výučbová krivka oveľa plochejšia. Moderné škrupiny zahŕňajú všetky obvyklé vlastnosti programovacieho jazyka, vrátane riadenia toku, funkcií a premenných. Niektorí z nich majú dokonca pokročilé dátové štruktúry, ako sú asociatívne polia.

Napriek svojej sile má programovanie v škrupinách niekoľko úskalí. Najväčší problém je, že je príliš ľahké písať skripty, ktoré závisia od nejakého programu, ktorý nemusí byť na inom systéme, alebo ktorý závisí od konkrétnej chuti Unixu alebo Linuxu. Preto sú shellové skripty najvhodnejšie pre programy, o ktorých viete, že sa budú spúšťať iba na jednom systéme. Ak sa snažíte vytvoriť niečo prenosné a nechcete písať program C, najlepšie je písať v inom skriptovacom jazyku, ako je Perl alebo Python.

Peek pod kapotou príkazového riadku Unix / Linux

Pod povrchom príkazového riadku Unix / Linux sa číši viac energie. Tento článok by vás mohol inšpirovať k nahliadnutiu pod kapotu svojho obľúbeného obalu, aby ste videli, čo môžete skutočne urobiť. Ak sa chcete dostať do skriptovania prostredia, môžete si pozrieť knihy Unix Power Tools a Learning the Bash Shell. Originálny dokument Štefana R. Bournesa o jeho škrupine tiež slúži ako dobrý úvod do sveta skriptovania škrupín, aj keď je starý.