Wat is een Shell?

Een shell is een programma dat een interface vormt tussen een gebruiker en een kernel van het besturingssysteem (OS). Een OS start een shell voor elke gebruiker wanneer de gebruiker inlogt of een terminal- of consolevenster opent.

Een kernel is een programma dat:

  • Alle computerbewerkingen regelt.
  • Alle uitvoerende hulpprogramma’s coördineert
  • Zorgt dat uitvoerende hulpprogramma’s elkaar niet storen of alle systeembronnen verbruiken.
  • Plant en beheert alle systeemprocessen.

Door de koppeling met een kernel biedt een shell een manier voor een gebruiker om hulpprogramma’s en programma’s uit te voeren.

Gebruikersomgeving

De shell biedt ook een gebruikersomgeving die u kunt aanpassen met behulp van initialisatiebestanden. Deze bestanden bevatten instellingen voor kenmerken van de gebruikersomgeving, zoals:

  • Zoekpaden voor het vinden van commando’s.
  • Vaste permissies op nieuwe bestanden.
  • Values voor variabelen die andere programma’s gebruiken.
  • Values die u kunt aanpassen.

Wat zijn de verschillende Shells?

De volgende secties beschrijven OS shells die meestal beschikbaar zijn op het UNIX/Linux besturingssysteem. Shell eigenschappen en hun standaard prompts worden ook beschreven.

De Bourne Shell

De Bourne shell (sh), geschreven door Steve Bourne bij AT&T Bell Labs, is de oorspronkelijke UNIX shell. Het is de favoriete shell voor shell programmering vanwege zijn compactheid en snelheid. Een nadeel van de Bourne shell is dat hij functies voor interactief gebruik mist, zoals de mogelijkheid om eerdere commando’s op te roepen (geschiedenis). De Bourne shell mist ook ingebouwde rekenkundige en logische expressie afhandeling.

De Bourne shell is de standaard shell van Solaris OS. Het is de standaard shell voor Solaris systeem administratie scripts. Voor de Bourne shell is de:

  • Commando full-path naam is /bin/sh en /sbin/sh.
  • Niet-root gebruiker standaard prompt is $.
  • Root gebruiker standaard prompt is #.

De C Shell

De C shell (csh):

  • Is een UNIX verbetering geschreven door Bill Joy aan de Universiteit van Californië in Berkeley.
  • Integreerde functies voor interactief gebruik, zoals aliassen en commando-geschiedenis.
  • Integreert handige programmeer-functies, zoals ingebouwde rekenkunde en een C-achtige expressie syntax.

Voor de C shell is de:

  • Commando full-path naam is /bin/csh.
  • Niet-root gebruiker standaard prompt is hostnaam %.
  • De standaard prompt van een root gebruiker is hostname #.

De Korn Shell

De Korn shell (ksh):

  • Werd geschreven door David Korn bij AT&T Bell Labs
  • Is een superset van de Bourne shell.
  • Ondersteunt alles wat in de Bourne shell zit.
  • Heeft interactieve functies die vergelijkbaar zijn met die in de C shell.
  • Integreert handige programmeer-functies zoals ingebouwde rekenkundige en C-achtige arrays, functies, en string-manipulatie faciliteiten.
  • Is sneller dan de C shell.
  • Uitvoeren van scripts geschreven voor de Bourne shell.

Voor de Korn shell is de:

  • Command full-path naam is /bin/ksh.
  • Niet-root gebruiker standaard prompt is $.
  • Root gebruiker standaard prompt is #.

De GNU Bourne-Again Shell

De GNU Bourne-Again shell (bash):

  • Is compatibel met de Bourne shell.
  • Integreert nuttige eigenschappen van de Korn en C shells.
  • Heeft pijltjestoetsen die automatisch worden toegewezen voor het oproepen en bewerken van commando’s.

Voor de GNU Bourne-Again shell is de:

  • Command full-path naam is /bin/bash.
  • De standaard prompt voor een niet-root gebruiker is bash-x.xx$. (Waar x.xx het versienummer van de shell aangeeft. Bijvoorbeeld, bash-3.50$)
  • De standaard prompt voor een root-gebruiker is bash-x.xx#. (Waar x.xx het shell versienummer aangeeft. Bijvoorbeeld, bash-3.50$#)

Hier volgt een korte vergelijking van de 4 shells en hun eigenschappen.

Shell Path Default Prompt (nietroot-gebruiker) Standaardprompt (root-gebruiker)
De Bourne Shell (sh) /bin/sh en /sbin/sh $ #
De C Shell (csh) /bin/csh % #
De Korn Shell (ksh) /bin/ksh $ #
De GNU Bourne-Again Shell (Bash) /bin/bash bash-x.xx$ bash-x.xx#

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.