Unix-kuori
Unix - kuori on termi, jota käytetään laskennassa viittaamaan Unix -pohjaisten ja vastaavien käyttöjärjestelmien , kuten GNU/Linuxin , komentotulkkiin , joka on niiden perinteinen käyttöliittymä . Tulkin antamien ohjeiden avulla käyttäjä voi kommunikoida ytimen kanssa ja sitä laajemmin suorittaa mainittuja käskyjä sekä työkaluja , joiden avulla hän voi ohjata tietokoneen toimintaa. Tästä syystä englanniksi sitä kutsuttiin sellaiseksi, shell , joka voidaan kääntää "kuoriksi", koska se on tietokonejärjestelmän näkyvä kuori.
Tulkkien antamia komentoja voidaan käyttää komentosarjana, jos ne on kirjoitettu suoritettaviin tiedostoihin, joita kutsutaan shell-skripteiksi, jolloin käyttäjän on käytettävä useita komentoja tai komentoja yhdistettynä työkaluihin, kirjoitettava tekstitiedostoon, joka on merkitty executable, toiminnot, jotka tulkki myöhemmin rivi riviltä kääntää ytimeen, jotta se voi suorittaa ne. Vaikka komentotulkkikomentosarja ei ole pelkästään ohjelmointikieli, komentotulkkikomentosarjojen luomisprosessia kutsutaan shell-ohjelmoimiseksi tai englanniksi shell-ohjelmointiksi tai komentotulkkikomentosarjaksi .
Termin yleisimmässä merkityksessä shell tarkoittaa mitä tahansa tulkkia, jota käyttäjät käyttävät komentojen kirjoittamiseen. Sen etymologia juontaa juurensa konsolien luonnollisesta käytöstä Unix-tietokoneissa aiemmin, kun käyttäjät liittyivät keskustietokoneeseen, he tekivät sen konsolien (shell) kautta, joilla he kirjautuivat sisään ja hallinnoivat päätietokonetta tulkin kautta. Myöhemmin, henkilökohtaisten tietokoneiden ja niiden yhden käyttäjän filosofian yleistyessä, yksi tietokone käyttäjää kohden (ymmärrettiin Unixin alkuperäisen filosofian vastakohtana, yksi tietokone, monet käyttäjät yhdistettyinä päätteillä), kehitettiin ohjelmistoja, jotka emuloivat tietokoneen pääominaisuuksia. fyysisiä konsoleita, jotta niitä voitaisiin edelleen käyttää asiakkaina tietokoneessa tai ytimessä, joka ymmärsi Unix-pohjaisten palvelimien hätätilanteiden hallintatehtävien määrittämisessä ja suorittamisessa käytetyn vakiokäytännön.
Unix ja vastaavat käyttäjät voivat valita erilaisten komentotulkkien välillä (ohjelma, joka tulee ajaa sisäänkirjautumisen yhteydessä, katso bash , ash , csh , Zsh , ksh , tcsh ). Unixin graafisia käyttöliittymiä, kuten GNOME , KDE ja Xfce , voidaan kutsua visuaalisiksi kuoriksi tai graafisiksi kuoriksi . Sinänsä termi shell liitetään yleensä komentoriville. Unixissa mikä tahansa ohjelma voi olla käyttäjäkuori. Käyttäjät, jotka haluavat käyttää eri syntaksia komentojen laatimiseen, voivat määrittää eri tulkin käyttäjäkuoreksi.
Termi shell viittaa myös tiettyyn ohjelmaan, kuten Bourne shell , sh . Bourne-kuori oli Unixin varhaisissa versioissa käytetty kuori ja siitä tuli de facto standardi ; kaikissa Unix-tyyppisissä järjestelmissä on vähintään yksi Bourne-kuoren kanssa yhteensopiva kuori. Bournen komentotulkkiohjelma sijaitsee Unix-tiedostohierarkiassa osoitteessa /bin/sh . Joissakin järjestelmissä, kuten BSD , /bin/sh on Bourne-kuori tai vastaava, mutta muissa järjestelmissä, kuten monissa Linux-jakeluissa , /bin/sh on symbolinen linkki kuoreen, joka tukee enemmän ominaisuuksia (kuten Bash ). POSIX määrittelee vakiokuorensa Korn-kuoren tiukan osajoukon .
Shell-luokat
Ne voidaan jakaa neljään luokkaan: Bourne-tyyppi, C-konsolityyppi, ei-perinteinen ja historiallinen.
Bourne Shell -yhteensopiva
- Bourne shell (sh) - kirjoittanut Steve Bourne , kun hän oli Bell Labsissa . Se jaettiin ensimmäisen kerran Unix-version 7 kanssa vuonna 1978 , ja sitä on parannettu vuosien varrella.
- Almquist shell (tuhka) - Kirjoitettu korvaamaan BSD - lisensoidun Bourne-kuoren ; sh FreeBSD :stä , NetBSD (ja sen johdannaiset) perustuvat ash-pohjaan ja niitä on POSIX -parannettu tätä tilaisuutta varten.
- Bourne-Again-kuori (bash) -- Kirjoitettiin osana GNU -projektia tarjoamaan ylimääräisiä toimintoja Bourne-kuoren kanssa.
- Debian Almquist Shell (dash) – Dash on moderni korvike ashille Debianissa .
- Korn shell (ksh) - kirjoittanut David Korn ollessaan Bell Labsissa .
- Z-kuori (zsh) -- Pidetään täydellisimpana: se on lähin asia, joka sisältää sh-, ash-, bash-, csh-, ksh- ja tcsh-superjoukon.
Yhteensopiva C-kuoren kanssa
- C-kuoren (csh) kirjoittaja Bill Joy Kalifornian yliopistossa Berkeleyssä . Se jaettiin ensimmäisen kerran BSD :n kanssa vuonna 1979.
- TENEX C -kuori (tcsh).
Muu tai eksoottinen
- fish , ystävällinen ja interaktiivinen kuori, joka julkaistiin ensimmäisen kerran vuonna 2005.
- mudsh , pelityylinen älykäs kuori, joka toimii kuin MUD .
- zoidberg, modulaarinen komentotulkki, joka on kirjoitettu Perlissä, konfiguroitu ja toiminut kokonaan Perlissä .
- rc , oletuskuori Bell Labsin Plan 9: lle ja Tom Duffin kirjoittamalle Unix-versiolle 10 . Portit on tehty Infernolle ja Unix-pohjaisille käyttöjärjestelmille.
- on shell (s), RC-yhteensopiva kuori, joka on kirjoitettu 90-luvun puolivälissä.
- scsh (Scheme Shell)
Shellien asetustiedostot
Shell lukee asetustiedostoja useissa olosuhteissa eri kuoririippuvuuksilla. Tämä taulukko näyttää suosituimpien komentotulkkien asetustiedostot:
| sh | ksh | csh | tcsh | lyödä | zsh | |
|---|---|---|---|---|---|---|
/etc/.login
|
Ei | Ei | Kirjaudu sisään | Kirjaudu sisään | Ei | Ei |
/etc/csh.cshrc
|
Ei | Ei | Ei | Joo | Ei | Ei |
/etc/csh.login
|
Ei | Ei | Ei | Kirjaudu sisään | Ei | Joo |
~/.tcshrc
|
Ei | Ei | Ei | Joo | Ei | Ei |
~/.cshrc
|
Ei | Ei | Joo | Joo | Ei | Ei |
~/.login
|
Ei | Ei | Kirjaudu sisään | Kirjaudu sisään | Ei | Ei |
~/.logout
|
Ei | Ei | Kirjaudu sisään | Kirjaudu sisään | Ei | Ei |
/etc/profile
|
Kirjaudu sisään | Kirjaudu sisään | Ei | Ei | i.kirjaudu sisään | Ei |
~/.profile
|
Kirjaudu sisään | Kirjaudu sisään | Ei | Ei | Kirjaudu sisään | Ei |
~/.bash_profile
|
Kirjaudu sisään | Ei | Ei | Ei | Kirjaudu sisään | Ei |
~/.bash_login
|
Ei | Ei | Ei | Ei | Kirjaudu sisään | Ei |
~/.bashrc
|
Ei | Ei | Ei | Ei | Kirjaudu sisään | Ei |
/etc/zshenv
|
Ei | Ei | Ei | Ei | Ei | Joo |
/etc/zprofile
|
Ei | Ei | Ei | Ei | Ei | Kirjaudu sisään |
/etc/zshrc
|
Ei | Ei | Ei | Ei | Ei | int. |
/etc/zlogin
|
Ei | Ei | Ei | Ei | Ei | Kirjaudu sisään |
/etc/zlogout
|
Ei | Ei | Ei | Ei | Ei | Kirjaudu sisään |
~/.zshenv
|
Ei | Ei | Ei | Ei | Ei | Joo |
~/.zprofile
|
Ei | Ei | Ei | Ei | Ei | Kirjaudu sisään |
~/.zshrc
|
Ei | Ei | Ei | Ei | Ei | int. |
~/.zlogin
|
Ei | Ei | Ei | Ei | Ei | Kirjaudu sisään |
~/.zlogout
|
Ei | Ei | Ei | Ei | Ei | Kirjaudu sisään |
Selitys:
- "ei" tarkoittaa, että komentotulkki ei lue tiedostoa ollenkaan.
- "kyllä" tarkoittaa, että komentotulkki lukee aina tiedoston.
- "login" tarkoittaa, että tiedosto luetaan, jos komentotulkki on kirjauskuori.
- "n/login" tarkoittaa, että tiedosto luetaan, jos komentotulkki ei ole istunnon kuori.
- "int." tarkoittaa, että tiedosto luetaan, jos se on interaktiivinen kuori.
- "i.login" tarkoittaa, että tiedosto luetaan, jos komentotulkki on interaktiivinen istunto.
Historiallinen
- Thompson-kuori (sh) - Ensimmäisen Unix-kuoren kirjoitti Ken Thompson Bell Labsissa . Jaettu Unix-versioiden 1–6 kanssa vuosina 1971–1975. Nykyaikaisten standardien mukaan sitä pidetään erittäin alkeellisena, eikä sitä käytetä nykyisissä järjestelmissä. Siitä on joitain osia saatavilla: Ancient UNIX Systems .
- PWB-kuori tai Mashey-kuori (sh) – versio Thompson-kuoresta, jonka ovat luoneet John Mashey ja muut ollessaan Bell Labsissa . Jaettu Programmer's Workbench UNIXin kanssa vuonna 1976.
Muut kuin Unix-kuoret
Microsoft Windows -käyttöjärjestelmäpaketin sisällä analoginen on programs command.com tai cmd.exe Windows NT -pohjaisille käyttöjärjestelmille ja Windows PowerShell , joka esiteltiin Windows Server 2008 :n kanssa .
Katso myös
- shell-skripti
- Lisäys: Ohjelmat Unixille
- Ydin (tietokonetiede)
Bibliografia
- Ellie Quigley (2001). "Johdatus UNIX-kuoriin". Unix Shells esimerkin mukaan . Prentice Hall PTR. ISBN 0-13-066538-X . — Erilaisten komentotulkkien historia, kuoren käyttötarkoitukset ja vastuut Unixissa.