![Unix Shell Crash Course || Unix Shell Tutorial for Beginners](https://i.ytimg.com/vi/8c1BL5b47kg/hqdefault.jpg)
Tartalom
- Mi a héj?
- A kagylók története és körforgása
- Scripting
- Peek az Unix / Linux parancssori motorháztető alatt
Forrás: Tomasz Bidermann / Dreamstime.com
Elvitel:
Az Unix és a Linux héjai nagyon erősek és rendkívül testreszabhatók.
A parancssor az Unix és a Linux rendszereken már nagyon hatékony, de a héjak még erősebb eszköz, mint a szem előtt tartva. Testreszabhatja és átkapcsolhatja a szíve tartalmához, mindaddig, amíg tudod, hogyan.Mi a héj?
Szinte minden Unix és Linux kézikönyv rendelkezik az operációs rendszer köré tekerődő héj szokásos rajzával, amely valamilyen cukorkára emlékeztet. A héj valójában nem más, mint egy interfész az operációs rendszer, beleértve a kernelt, a fájlrendszert és a különféle rendszerhívásokat, valamint a felhasználó között. Sok éven át ez volt az egyetlen interaktív felhasználói felület, mielőtt a grafikus felhasználói felületek az 1980-as években szokásossá váltak. A grafikus felhasználói felületek szintén héjtípusnak tekinthetők, mivel ezek ugyanazokat a funkciókat szolgálják: programok indítása, a rendszer konfigurálása és a fájlok kezelése.Ezeknek a szerény alapú interfészeknek meglepően sok energiája van. Egyrészt, teljes értékű programozási nyelv. Mielőtt még erősebb szkriptnyelvek jelentkeztek, mint például a Python, a shell parancsfájlok ideálisak voltak olyan programok írásához, amelyeknek nem szükségük szükségszerűen a C. erőre. Ezek továbbra is hasznosak a rendszerfeladatok automatizálásában és a gyors prototípus készítésében.
Számos olyan funkcióval is rendelkeznek, amelyek megkönnyítik a fájlok kezelését és megtalálását. Az egyik legszélesebb körben használt "helyettesítő" vagy "globbing". Szinte minden Unix és Linux felhasználó ismeri a "*" helyettesítő betűt, hogy bármilyen karakter megfeleljen. Valójában ez a héj feladata. A különböző héjak még erősebb lehetőségeket kínálnak.
Az Unix egyik jellemző tulajdonsága a program bemeneti és kimeneti átirányításának képessége. A shell végrehajtja ezt a funkciót.
A héj csak egy új program, tehát a megfelelő képességekkel rendelkező programozók létrehozhatják a programokat. Számos nagyobb héj alakult ki az évek során.
A kagylók története és körforgása
Noha az operációs rendszer kezdeti napjaiban számos Unix héj létezett, az első, amely a Bell Labs-n kívül jelentős elismerést kapott, a Bourne Shell volt, Stephen R. Bourne elnevezéssel. A héjak legfontosabb innovációja az volt, hogy támogatja a strukturált programozás funkcióit, lehetővé téve a héj első alkalommal valódi programozási nyelvként való használatát. Annyira nélkülözhetetlen, hogy az összes modern Unix és Linux verzió továbbra is használja, bár általában a Bourne héját emuláló újabb héjak.A következő fő héj a C Shell volt, amelyet általában csh-nek hívtak. Ezt a héjat az UC Berkeley-ben fejlesztették ki, és az Unix BSD aromájának fő alkotóeleme lett. Ahogy a neve is sugallja, szintaxisát úgy tervezték, hogy hasonlítson a C programozási nyelvre, de valójában interaktív felhasználásra tervezték.
Ez tartalmaz egy előzménymechanizmust, amely lehetővé tette a felhasználók számára, hogy visszatérjenek és ismételjenek meg minden korábban kiadott parancsot anélkül, hogy egy egész sort újra kellett írni, és javították a feladat-vezérlést, ami megkönnyítette a több feladat futtatását. (Ne feledje, ebben az időben a legtöbb ember még mindig használt alapú terminálokat.)
A következő nagy héj a Korn Shell volt, amely szintén a Bell Labs kiadta. A héjat David Korn, és nem a bandának nevezték el. A Korn héj legfontosabb újítása a parancssori szerkesztés bevezetése, amely az előzmények funkcióját még tovább bővíti. A felhasználók visszatérhetnek és szerkeszthetik a beírt parancsokat a vi vagy az Emacs szerkesztőhöz hasonló parancsokkal.
A fő kagyló közül a Bourne Again Shell, vagy a bash a legnépszerűbb a 80-as évek végén történő bevezetése óta. Ez a héj, amelyet a GNU projekt részeként fejlesztettek ki, magában foglalja a C és a Korn héj újításait, miközben fenntartja a Bourne héjhoz való kompatibilitást, ebből a névből. Ez a "szabványos" héj a legtöbb Linux disztribúción.
A Z Shell (zsh), amelyet először adtak ki 1990-ben, egy parancssori felhasználó álma. Nemcsak a legtöbb többi jellemzővel rendelkezik, amelyek a többi héjhoz tartoznak, hanem őrülten testreszabható, sok hatékony funkcióval. Az egyik legerősebb a rekurzív globbing, amely lehetővé teszi a felhasználóknak, hogy az alkönyvtárakban a fájlneveket egyezzék meg parancsok kiadásakor, ahelyett, hogy a jelenlegi munkakönyvtárban lennének. A valóban haladó felhasználók testreszabhatják a kitöltési lehetőségeket is, illesztve a fájlokat anélkül, hogy teljesen ki kellene írniuk azokat. A kövérujjú gépírók számára ez helyesbítheti a helyesírást is. Ez a héj olyan fejlett, hogy a kézi oldalát nagyon hosszú részekre osztotta.
Scripting
Mint korábban említettük, a héjak nem csupán parancssori felületek, hanem erőteljes programozási nyelvek. A shell parancsfájlok szépsége, hogy ugyanazt a nyelvet használhatják mind a szokásos interaktív felhasználásban, mind a szkriptekben, ami a tanulási görbét sokkal laposabbá teszi. A modern héjak tartalmazzák az összes szokásos programozási nyelv funkciót, beleértve az áramlásvezérlést, a funkciókat és a változókat. Néhányan még fejlett adatszerkezetekkel is rendelkeznek, például asszociatív tömbökkel.Teljesítményük ellenére a kagylóban történő programozásnak van néhány hibája. A legnagyobb probléma az, hogy túl könnyű olyan szkripteket írni, amelyek attól függnek, hogy van-e olyan program, amely nem egy másik rendszeren működik, vagy attól függ, hogy az Unix vagy a Linux milyen ízét jellemzi. Éppen ezért a shell parancsfájlok a legmegfelelőbbek olyan programokhoz, amelyekről tudod, hogy csak egy rendszeren futnak. Ha valami hordozható készüléket próbál építeni, és nem akar C programot írni, akkor az a legjobb fogadás, ha másik szkriptnyelven ír, például Perl vagy Python.