Itthon Hang Unix / linux héjak 101

Unix / linux héjak 101

Tartalomjegyzék:

Anonim

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 őket, és átkapcsolhatja a szíve tartalmához, mindaddig, amíg tudja, 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, szöveges interfészeknek meglepő ereje van. Először is, teljes értékű programozási nyelv. Mielőtt még erősebb szkriptnyelvek, például Python jelentek meg, a shell parancsfájlok ideálisak voltak olyan programok írásához, amelyeknek nem szükségszerűen szükségük volt 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 be- és kimenete á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észségekkel rendelkező programozók létrehozhatják azokat. 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éj legfontosabb újítása 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 ez az egyik újabb héj, amely a Bourne héját emulálja.


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 szöveges alapú terminálokat használt.)


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 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 "standard" 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, de őrülten testreszabható, sok nagyszerű 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épelő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 olyan programoktól függnek, amelyek nem egy másik rendszeren vannak, vagy attól függ, hogy az Unix vagy a Linux egy adott ízlése. 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.

Peek az Unix / Linux parancssori motorháztető alatt

Több energiát rejt magában az Unix / Linux parancssori felülete. Ez a cikk arra ösztönözheti Önt, hogy tekintsen be kedvenc héja motorháztetője alá, hogy megnézze, mit tehet valóban. Ha be akar lépni a shell szkriptekbe, érdemes megnéznie a Unix Power Tools és a Learning a Bash Shell könyveket. Stephen R. Bourne héjában található eredeti papírja szintén jó bevezetés a shell parancsfájlok világába, még akkor is, ha régi.

Unix / linux héjak 101