Mit csinálnak a kagylók?
Amikor bejelentkezik a parancssorba, vagy elindít egy terminál ablakot Linuxon, a rendszer elindítja a shell programot. A Shells a parancssori környezet kiterjesztésének szabványos módját kínálja. Ha szeretne, cserélheti ki az alapértelmezett héjot egy másikra.
Az első héjkörnyezet a Thompson Shell volt, amelyet a Bell Labs fejlesztett ki és 1971-ben jelent meg. A Shell környezetek azóta építik a koncepciót, számos új funkciót, funkcionalitást és gyorsaságot javítva.
Például a Bash a parancs- és a fájlnév befejezését, a speciális szkriptfunkciókat, parancs-előzményeket, konfigurálható színeket, parancs-álneveket és számos olyan funkciót kínál, amelyek 1971-ben nem voltak elérhetők az első héj kiadásakor.
A héjot a háttérben különböző rendszerszolgáltatások is használják. A Linux disztribúciók számos funkciót tartalmaznak, mint shell parancsfájlokat. Ezek a parancsfájlok olyan parancsok és más fejlett parancsértelmezők, amelyek a shell környezetben futnak.
Bash-hez vezető shieldok: sh, csh, tsh és ksh
A modern héjak legjelentősebb előfutára a Bourne héj - az úgynevezett "sh" - nevét, amely Stephen Bourne alkotója, aki az AT & T Bell Labs-nél dolgozott. 1979-ben jelent meg, a Unix-ban alapértelmezett parancsértelmezővé vált, mivel támogatja a parancshelyettesítést, csővezetékeket, változókat, állapotfelmérést és hurkot, valamint más funkciókat. Nem sok testreszabást ajánlott fel a felhasználók számára, és nem támogatta az olyan modern finomításokat, mint az álnevek, a parancsok befejezése és a shell funkciók (bár ez utóbbi végül hozzáadódott).
A C shell, vagy a "csh", a 70-es évek végén dolgozták ki Bill Joy a Berkley-i Egyetemen. Számos olyan interaktív elemet adott hozzá, amellyel a felhasználók szabályozhatják rendszerüket, például aliasokat (hosszú parancsok gyorsbillentyűi), munkakezelési képességeket, parancstörténetet stb. A modellt a C programozási nyelvből vették fel, amelyet maga a Unix operációs rendszer írtak be. Ez azt is jelentette, hogy a Bourne-héj felhasználóinak meg kellett tanulniuk a C-t, hogy be tudjanak vezetni parancsokat. Ráadásul a csh-nek elég sok hibája volt, amelyet a felhasználók és az alkotók egyaránt nagyszerű időközönként kovácsoltak. Az emberek a Bourne héj használatával végezték el a szkripteket, mert jobban kezelte a nem interaktív parancsokat, de a C-héjhoz ragaszkodott a szokásos használathoz.
A bash születése
A Bash az 1989-es első kiadása óta eltelt évtizedekben javult, de ez még mindig az alapértelmezett shell a legtöbb Linux disztribúcióban. Ez az alapértelmezett héj az Apple MacOS-ban, és elérhető a Microsoft Windows 10 operációs rendszeren történő telepítéshez.
Újabb kagylók: hamu, kötőjel, zsh és hal
Míg a Linux közösség az évek során telepedett le a Bash-ral, a fejlesztők nem hagytak abba az új kagylók létrehozását, amikor a Bash 28 évvel ezelőtt jelent meg.
Kenneth Almquist létrehozott egy Bourne-héj-klónt, amely Almquish shell, A Shell, "hamu" néven ismert, vagy néha csak "sh". ez is POSIX kompatibilis volt, és az alapértelmezett héjává vált a BSD-ben, a Unix egy másik ágában. A hamutartó héj könnyebb, mint a bash, ami népszerűvé teszi a beágyazott Linux rendszerekben. Ha van gyökerező Android telefonja a BusyBox telepítve - vagy más eszköz a BusyBox szoftvercsomaggal - kódot használ a hamutól.
Melyiket választja? (és miért népszerű a Zsh)
Nem kell választania egy shellet. Az operációs rendszer választja az Ön alapértelmezett héját, és ez a választás szinte mindig bash. Ülj le egy Linux disztribúció előtt, vagy akár egy Mac-et, és majdnem mindig van egy bash shell környezeted. A Bash számos fejlett funkcióval rendelkezik, de valószínűleg nem fogja használni őket, hacsak nem parancsfájlokat programozunk.
Beágyazott Linux rendszereken vagy BSD rendszereken a végén a hamu kagyló lesz. De a hamu Bourne-alapú héj, és nagyjából kompatibilis a bash-szal. A bash használatával kapcsolatos ismeretek hamis vagy dash-héj használatával továbbíthatók, bár néhány speciális szkript funkció nem érhető el ebben a könnyű héjban.
Majdnem minden héj, amelyen találkozol, Bourne-alapú és hasonlóan működik - beleértve a zsh-et is.
Ezért a zsh népszerű. Ez az újabb héj kompatibilis a bash programmal, de több funkciót is tartalmaz. A zsh héj beépített helyesírási korrekcióval, jobb parancssori befejezéssel, betölthető modulokkal működik, amelyek a shell beépülő moduljaként működnek, olyan globális álnevek, amelyek lehetővé teszik a fájlnevek álnevét vagy bármit a parancssorban, csak parancsok helyett. több tematikus támogatás. Ez olyan, mint a bash, de sok extrával, további funkciókkal és konfigurálható lehetőségekkel értékelheti, ha sok időt töltesz a parancssorban.
Ha ismeri a bash-et, akkor átválthat zsh-ra anélkül, hogy más szintaxist tanulna - csak további funkciókat szerezhet. Ha ismeri a zsh-et, akkor a bash-re változtathat anélkül, hogy más szintaxist tanulna - csak nem fér hozzá ezekhez a funkciókhoz.
Vannak még más héjak is. Például a tcsh shell még mindig körül van, és még mindig lehet opció. A FreeBSD alapértelmezett gyökérhéjként és hamutartalmú tsch -ként használja az alapértelmezett interaktív shell-ot. Ha rendszeresen használja a C programozást, akkor a tsch jobban illik hozzád. Azonban nem olyan közel, mint a bash vagy a zsh.
Hogyan lehet átkapcsolni a kagylók között?
Könnyű átváltani egy új héjra, hogy kipróbálhassa. Csak telepítse a shell-t a Linux disztribúció csomagkezelőjéből, és írja be a parancsot a shell elindításához.
Tegyük fel például, hogy szeretné kipróbálni a zsh-et az Ubuntuban. A következő parancsokat futtathatja a telepítéshez, majd indítsa el:
sudo apt install zsh zsh
Akkor egy zsh-héjban ülsz. Típus"
exit
A héjban hagyja, és visszatér az aktuális héjához.
chsh
vagy a "Shell módosítása" paranccsal.
Ennek a parancsnak a használatához először meg kell találnia a teljes elérési utat a parancsértelmezővel. Tegyük fel például, hogy a zsh-héjra akarunk váltani. A következő parancsot futtattuk:
which zsh
Az Ubuntuban ez azt jelzi, hogy a zsh binárist a / usr / bin / zsh fájlban tároljuk.
Futtassa a következő parancsot, írja be a jelszavát, és felszólítja Önt, hogy válasszon egy új bejelentkezési parancssort:
chsh
A fenti parancs szerint belépünk
/usr/bin/zsh
. A zsh shell akkor az alapértelmezésünk, amíg nem futunk
chsh
parancsot, és megváltoztatta.