Ga naar inhoud

Inleiding op de shell

Opgelet: dit is een korte versie van het boek

Niet opgenomen in dit online gedeelte: handige shortcuts, aanvullen in bash, geschiedenis in bash, zoeken in help.

De shell is voor de gebruiker een ander type interactievorm met de computer. In plaats van muis, icoontjes en vensters die je aanklikt of verplaatst is de interactievorm van de shell deze van toetsenbord en tekstweergave. Met het toetsenbord tik je commando's in die het besturingssysteem vervolgens uitvoert. Als je begint met dan is de shell zowat het eerste wat je niet direct wil leren ;-). Toegegeven, de shell heeft een leercurve maar het kent ook zijn beloning. Een minimale kennis en vaardigheid met de shell geeft je een heel krachtige omgeving om het systeem naar je hand te zetten.

De meest populaire shell is Bash (wat staat voor "Bourne Again Shell"). Het is een vrije versie van de Bourne Shell (unix). Het voldoet grotendeels aan de POSIX-standaard1 voor Unix-shells. Naast Bash bestaan er ook nog diverse andere shells die meer of minder eigenschappen en/of mogelijkheden hebben maar deze worden in dit boek niet besproken.

Kennismaking met de shell

De eerste manier om met de terminal in contact te komen is via het programma gnome-terminal (later meer over de tweede manier). Je kan deze openen door de (windows)-toets in te drukken en direct het woord terminal in te typen of door de terminal op te zoeken in de lijst van toepassingen.

Eenmaal de terminal geopend zie je een vensterkader met zwarte achtergrond en witte tekst. De tekst is de volgende.

gebruiker@naam-pc:~$

gebruiker@naam-pc: Zoals je ziet is je gebruikersnaam vermeldt die zich aan (@) naam-pc bevindt. Waarom vermelden? Als je veel wisselt tussen gebruikers is het altijd interessant om te weten welke gebruiker je nu bent en op welke server/pc je aan het werken bent (je kan bijv. ook remote inloggen op een pc). De gebruikersnaam en de computernaam is aangemaakt tijdens de installatie.

~ : Locatie. Je wordt ingelogd in je persoonlijke /home/gebruiker/-map. Dit kan je merken aan het tilde-teken (). Wil je het nog even checken? Voer dan het commando pwd uit. Dit toont je de map waarin je je bevindt.

$ : Het gebruikersteken duidt erop dat je als gewone gebruiker bent ingelogd (dollarteken) of als root (# -teken).

Afspraak: bij het vermelden van de opdrachtprompt zal geen melding gemaakt worden van de volledige lijn. Enkel het gebruikersteken zal getoond worden om eentonige herhaling te vermijden.

In het boek en op de site wordt gebruiker@naam-pc:~$ wordt vervangen door

(in geval van gewone gebruiker).

Als er een commando wordt gedemonstreerd dat je als root moet uitvoeren dan wordt # (hash-teken) gebruikt. Zo krijg je

In de tekst worden ook heel vaak commando's gebruikt. De commando's voor root en gebruiker hebben een andere letter- en achtergrondkleur. . Terwijl .

Commando -optie argument

Commando Open gnome-terminal binnen GNOME en typ:\

Daarna gewoon enteren. De webbrowser firefox opent zich. Uiteraard kan dit enkel als je ingelogd bent in een grafische omgeving als GNOME (anders krijg je een foutmelding dat het display niet geopend kan worden).

Een stapje verder. We voegen aan het commando een argument toe.

De webbrowser firefox opent zich en toont de website van http://www.debian.org. De hyperlink naar www.debian.org noemen we het argument. Het argument brengt extra informatie naar het programma dat het op zijn beurt gebruikt om te functioneren. Voor alle duidelijkheid: de argumenten zijn programma-specifiek. Heel concreet: het argument pas je aan, het commando blijft. Toegepast op het voorbeeld: zo kun je ook surfen naar www.gnome.org. Hiervoor vervang je het argument door de nieuwe url: .

Opties bepalen de werking van het programma. Je voert extra parameters in hoe het programma zich behoort te gedragen.

In dit voorbeeld hebben we een optie toegevoegd: '-new-tab'. Een optie laat het programma dat opgeroepen wordt via het commando op een bepaalde manier reageren. In dit geval opent het de website www.debian.org in een nieuw tabblad. De opties worden voorafgegaan door één of twee liggende strepen. De opties zijn programma-specifiek en je moet ze dus per programma opzoeken. Het is evident dat een webbrowser als firefox internetlinks open en een teksteditor als gedit tekstbestanden.

Samengevat:commando --optie argument

Belangrijke opmerking: de voorgaande commando's hebben we uitgevoerd binnen GNOME en heeft als resultaat dat een extern grafisch programma zich heeft geopend binnen deze desktop-omgeving. Dit is eerder de uitzondering dan de regel als je werkt met de terminal. De overgrote meerderheid van terminalprogramma's worden uitgevoerd in het terminalvenster en niet daarbuiten. De terminal is een heel snelle manier om een programma op te starten. Zo kun je ook andere programma's opstarten via terminal: gimp, gedit, evolution, .... Je kan extra argumenten aangeven en opties om te functioneren.

De terminal sluit je af door het venster te sluiten, door te typen of met de toetsencombinatie .

Meer dan handig

De Bash-shell kan wat werk uit handen voor je nemen. Typ bijvoorbeeld eens de letter fir in en druk dan op de -toets.

Bash vult automatisch aan. Het toont je de namen van programma's die beginnen met 'fir'. Hier kun je nog niet selecteren maar door een extra letter in te typen ben je al een stukje verder en verschijnt de volledige naam. Dan gewoon op enter drukken en het programma start op. Merk op dat Bash je de namen toont van zowel grafische als niet-grafische programma's. Enkel als je binnen een desktopomgeving een terminal hebt geactiveerd, kun je grafische programma's opstarten. Bash vult niet enkel aan met uitvoerbare programma's maar ook met mappen die aan de criteria zouden voldoen (te herkennen aan de / op het einde van de naam).

Een leuke eigenschap is dat je kan scrollen doorheen je reeds ingevoerde commando's. Zo kun je met de op- en neerpijltjes de vorige en volgende commando's oproepen.

history

Bash houdt ook je geschiedenis bij. Zo kun je via de toetsencombinatie gaan zoeken in je commando-geschiedenis.

  • Zorg ervoor dat er geen tekens staan en druk vervolgens op .

  • De tekst (reverse-i-search) verschijnt. Tik nu je zoekterm in.

  • Een eerste resultaat wordt gegeven op basis van de opname in de geschiedenislijst. Bash begint te zoeken van jongste naar oudste input.

  • Nogmaals drukken op levert de volgende hit op.

Naast zoeken in je geschiedenis kun je ook een overzicht krijgen van wat je reeds allemaal aan commando's hebt ingetikt. Voer hiervoor het commando in. Standaard worden er 500 inputs opgeslagen.

1  ls 
2  ls -al
3  cd Downloads
4  cd ..
5  mkdir vivo
6  cd vivo
7  mkdir les1 les2 les3
8  cd les1
9  pwd

Je kan vervolgens een commando uitvoeren door uitroepteken direct gevolgd door het lijstnummer in te geven. Zo voer je het commando dat zich op nummer zes bevindt, uit met .

Naast nummers opvragen kun je ook argumenten van voorgaande commando's gebruiken met het dollarteken.

Help

Er zijn doorheen de jaren meerdere help- of informatiesystemen verschenen voor UNIX-achtigen. De twee meest voorkomende en onderhouden systemen zijn man en - help.

MAN

Standaard komt een -distro met heel wat informatie. Alle info over de commando's is terug te vinden in (engelstalige) handleidingen. Deze kan je vanuit de console oproepen met

De indeling van de manual kent standaard minimum vier onderdelen. Je kan hierin scrollen met de en -toetsen.

  1. Het begint met een naamsbeschrijving

  2. ... gevolgd door een kleine synopsis van het gebruik van opties en argument(en).

  3. De beschrijving (description) komt met een volledige uitleg van alle mogelijke opties.

  4. Afsluitend is er een 'zie ook' (see also) die gelijkaardige commando's oplijst.

Naast deze vier minimumonderdelen kunnen er diverse ander onderdelen verschijnen. Zie hiervoor de handleiding van man-pages () waar vanaf regel 111 deze secties beschreven worden.

Je kan in de handleiding zoeken met /zoekwoord of ?zoekwoord. Dan verschijnen deze in zwarte accentachtergrond met witte letters. Uiteraard zoek je het best met Engelstalige woorden en begrippen.

--help

Een andere manier om hulpinformatie over een commando te verkrijgen is om --help na de spatie bij te plaatsen.

Dit toont je hulpinfo al dan niet vertaald in het Nederlands. Deze info is vaak beknopter dan deze in man. Het is ook mogelijk dat er met --help geen info te verkrijgen is maar wel met -help of -h of -?.

TTY

In deze inleiding hebben we gebruik gemaakt van GNOME met daarin het programma GNOME-terminal. Je kan ook inloggen op een virtuele console die geen gebruik maakt van een grafische omgeving. Deze virtuele consoles kun je bereiken met de toetsencombinaties . Omdat je niet bent ingelogd wordt er eerst gevraagd om een gebruikersnaam en paswoord. Pas na het inloggen verschijnt de normale prompt en kun je commando's ingeven.

Uitloggen doe je zoals bij de terminal met het commando of met het commando . Om terug te keren naar de grafische omgeving druk je op en je logt opnieuw in.