Unix-skall
Et Unix - skall er begrepet som brukes i databehandling for å referere til kommandotolken til Unix -baserte og lignende operativsystemer , for eksempel GNU/Linux , og som er deres tradisjonelle brukergrensesnitt . Ved hjelp av instruksjonene gitt av tolken kan brukeren kommunisere med kjernen og i forlengelsen utføre nevnte ordre, samt verktøy som lar ham kontrollere driften av datamaskinen. Av denne grunn ble det på engelsk kalt på den måten, shell , som kan oversettes som "shell", fordi det er det synlige skallet til datasystemet.
Kommandoene gitt av tolkene kan brukes som et skript hvis de er skrevet i kjørbare filer kalt shell-scripts, på denne måten, når brukeren trenger å bruke flere kommandoer eller kommandoer kombinert med verktøy, skriv i en tekstfil , merket som kjørbar, operasjonene som senere, linje for linje, vil tolken oversette til kjernen slik at den kan utføre dem. Uten å være et shell script strengt tatt et programmeringsspråk, kalles prosessen med å lage shell scripts shell programmering eller på engelsk, shell programmering eller shell scripting .
I den mest generiske betydningen av begrepet betyr shell enhver tolk som brukere bruker til å skrive kommandoer. Etymologien kommer fra den naturlige bruken av konsoller i datamaskiner som kjørte under Unix tidligere, når brukere koblet til den sentrale datamaskinen, gjorde de det gjennom konsoller (skall) som de, gjennom en tolk, logget på og administrerte hoveddatamaskinen. Senere, med spredningen av personlige datamaskiner og deres enkeltbrukerfilosofi, én datamaskin per bruker (forstått som det motsatte av den opprinnelige filosofien til Unix, én datamaskin, mange brukere koblet sammen med terminaler), ble det utviklet programvare som emulerte hovedkarakteristikkene til fysiske konsoller, slik at de fortsatt kan brukes som klienter på en datamaskin eller kjerne som forsto standardkonvensjonen som brukes til å konfigurere og utføre nødhåndteringsoppgaver med Unix-baserte servere.
Unix og lignende brukere kan velge mellom ulike skall (program som skal kjøres når de logger på, se bash , ash , csh , Zsh , ksh , tcsh ). Grafiske brukergrensesnitt for Unix, som GNOME , KDE og Xfce kan kalles visuelle skall eller grafiske skall . I seg selv er begrepet skall vanligvis forbundet med kommandolinjen. På Unix kan ethvert program være et brukerskall. Brukere som ønsker å bruke en annen syntaks for å komponere kommandoer, kan spesifisere en annen tolk som brukerskall.
Begrepet skall refererer også til et bestemt program, for eksempel Bourne-skallet , sh . Bourne-skallet var skallet som ble brukt i tidlige versjoner av Unix og ble en de facto standard ; alle Unix-lignende systemer har minst ett skall som er kompatibelt med Bourne-skallet. Bourne shell-programmet er plassert i Unix-filhierarkiet på /bin/sh . På noen systemer, som BSD , er /bin/sh et Bourne-skall eller tilsvarende, men på andre systemer som mange Linux-distribusjoner er /bin/sh en symbolsk kobling til et skall som støtter flere funksjoner (som Bash ). POSIX spesifiserer standardskallet som et strengt delsett av Korn-skallet .
Skallkategorier
De kan deles inn i fire kategorier: Bourne-type, C-konsolltype, ikke-tradisjonell og historisk.
Bourne shell-kompatibel
- Bourne shell (sh) – Skrevet av Steve Bourne , da han var på Bell Labs . Den ble først distribuert med versjon 7 Unix i 1978 og har blitt forbedret gjennom årene.
- Almquist-skall (aske) – Skrevet som en erstatning for det BSD - lisensierte Bourne-skallet ; sh fra FreeBSD , NetBSD (og dets derivater) er basert på ash og har blitt POSIX -forbedret for anledningen.
- Bourne-Again shell (bash) -- Ble skrevet som en del av GNU -prosjektet for å gi et supersett av funksjonalitet med Bourne-skallet.
- Debian Almquist Shell (dash) – Dash er en moderne erstatning for aske i Debian .
- Korn shell (ksh) - Skrevet av David Korn , mens han var på Bell Labs .
- Z-skall (zsh) -- Ansett som det mest komplette: det er det nærmeste man kan omfatte et supersett av sh, ash, bash, csh, ksh og tcsh.
Kompatibel med C-skallet
- C shell (csh) skrevet av Bill Joy , mens han var ved University of California, Berkeley . Den ble først distribuert med BSD i 1979.
- TENEX C-skall (tcsh).
Annet eller eksotisk
- fish , et vennlig og interaktivt skall, først utgitt i 2005.
- mudsh , et smart skall i spillstil som fungerer som en MUD .
- zoidberg, et modulært skall skrevet i Perl, konfigurert og operert helt i Perl .
- rc , standardskallet for Plan 9 fra Bell Labs og versjon 10 av Unix skrevet av Tom Duff . Det er laget porter for Inferno og for Unix-baserte operativsystemer.
- er shell (s), et RC-kompatibelt skall skrevet på midten av 90-tallet.
- scsh (Skjeme Shell)
Konfigurasjonsfiler for skjell
Et skall leser konfigurasjonsfiler i flere omstendigheter under forskjellige skallavhengigheter. Denne tabellen viser konfigurasjonsfilene for de mest populære skallene:
| sh | ksh | csh | tcsh | bash | zsh | |
|---|---|---|---|---|---|---|
/etc/.login
|
Nei | Nei | Logg Inn | Logg Inn | Nei | Nei |
/etc/csh.cshrc
|
Nei | Nei | Nei | Ja | Nei | Nei |
/etc/csh.login
|
Nei | Nei | Nei | Logg Inn | Nei | Ja |
~/.tcshrc
|
Nei | Nei | Nei | Ja | Nei | Nei |
~/.cshrc
|
Nei | Nei | Ja | Ja | Nei | Nei |
~/.login
|
Nei | Nei | Logg Inn | Logg Inn | Nei | Nei |
~/.logout
|
Nei | Nei | Logg Inn | Logg Inn | Nei | Nei |
/etc/profile
|
Logg Inn | Logg Inn | Nei | Nei | i.logg inn | Nei |
~/.profile
|
Logg Inn | Logg Inn | Nei | Nei | Logg Inn | Nei |
~/.bash_profile
|
Logg Inn | Nei | Nei | Nei | Logg Inn | Nei |
~/.bash_login
|
Nei | Nei | Nei | Nei | Logg Inn | Nei |
~/.bashrc
|
Nei | Nei | Nei | Nei | Logg Inn | Nei |
/etc/zshenv
|
Nei | Nei | Nei | Nei | Nei | Ja |
/etc/zprofile
|
Nei | Nei | Nei | Nei | Nei | Logg Inn |
/etc/zshrc
|
Nei | Nei | Nei | Nei | Nei | int. |
/etc/zlogin
|
Nei | Nei | Nei | Nei | Nei | Logg Inn |
/etc/zlogout
|
Nei | Nei | Nei | Nei | Nei | Logg Inn |
~/.zshenv
|
Nei | Nei | Nei | Nei | Nei | Ja |
~/.zprofile
|
Nei | Nei | Nei | Nei | Nei | Logg Inn |
~/.zshrc
|
Nei | Nei | Nei | Nei | Nei | int. |
~/.zlogin
|
Nei | Nei | Nei | Nei | Nei | Logg Inn |
~/.zlogout
|
Nei | Nei | Nei | Nei | Nei | Logg Inn |
Forklaring:
- "nei" betyr at skallet ikke vil lese filen i det hele tatt.
- "ja" betyr at filen alltid leses av skallet.
- "login" betyr at filen leses hvis skallet er et loggingsskall.
- "n/login" betyr at filen leses hvis skallet ikke er et sesjonsskall.
- "int." betyr at en fil leses hvis den er et interaktivt skall.
- "i.login" betyr at en fil leses hvis skallet er en interaktiv sesjon.
Historisk
- Thompson shell (sh) – Det første Unix-skallet ble skrevet av Ken Thompson ved Bell Labs . Distribuert med Unix versjon 1 til 6, fra 1971 til 1975. Det anses som svært rudimentært etter moderne standarder og brukes ikke på dagens systemer. Det er noen deler av det tilgjengelig: Ancient UNIX Systems .
- PWB-skall eller Mashey-skall (sh) – En versjon av Thompson-skallet, laget av John Mashey og andre mens de var på Bell Labs . Distribuert med Programmer's Workbench UNIX , i 1976.
Ikke-Unix-skjell
Innenfor Microsoft Windows -pakken med operativsystemer er det analoge programmene command.com , eller cmd.exe for Windows NT -baserte operativsystemer , og Windows PowerShell introdusert med Windows Server 2008 .
Se også
- shell-script
- Tillegg: Programmer for Unix
- Kjerne (datavitenskap)
Bibliografi
- Ellie Quigley (2001). "Introduksjon til UNIX-skall". Unix-skall etter eksempel . Prentice Hall PTR. ISBN 0-13-066538-X . - Historien om forskjellige skjell, bruken og ansvaret til et skall i Unix.