Manual Pages
door Roeland Kok
Vrijgegeven onder de GFDL.
Inleiding
In het artikel Community Complicaties heb ik gewezen op de noodzaak van een lerende houding als je begint met Linux en voordat je een community binnen dendert. In dit artikel ga ik in op hoe je zelfstandig op je eigen systeem onderzoek kunt doen naar oplossingen van problemen die je hebt tijdens het werken met je systeem.
Sinds de vroege jaren van UNIX en UNIX-achtige systemen is het goed gebruik geweest om alle software te documenteren en een duidelijke handleiding te schrijven over de werking van je UNIX programma. Praktisch alle UNIX tools zijn goed gedocumenteerd en ondergebracht in de man-pages (manual pages). Bij het installeren van je Linux of BSD box heb je de mogelijkheid om deze man-pages mee te installeren. Achteraf kun je dit ook nog doen natuurlijk.
Hoe te gebruiken?
Man-pages zijn informatie-pagina's waarin de mogelijkheden van het programma uitgeschreven staan, plus de opties die het programma biedt. Een manual pagina kan er als volgt uit zien (we nemen nu een klein stukje uit de ls man-page):
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuSUX nor --sort.
Mandatory arguments to long options are mandatory for short options
too.
-a, --all
do not hide entries starting with .
-A, --almost-all
do not list implied . and ..
[...]
Een man pagina bestaat uit een aantal vaste items, te weten:
- NAME (naam van het programma)
- SYNOPSIS (in het kort: hoe zit het commando in elkaar)
- DESCRIPTION (omschrijving van het programma)
- AUTHOR (de auteur(s) van het programma)
- REPORTING BUGS (waar kun je heen met ontdekte fouten (bugs) in het programma)
- COPYRIGHT (copyright vermelding)
- SEE ALSO (verwijzingen naar andere man-pages en evt. info-pagina's)
Man-pages zijn zowel op de command-line op te vragen als wel met grafische tools in het X Window Systeem. Sommige desktop omgevingen komen met geintegreerde mogelijkheden om door de manual pagina's te bladeren. Als je in console werkt, kun je eenvoudigweg met het 'man' commando de manual pagina's opvragen. Wij willen bijvoorbeeld de pagina van het chmod commando opvragen. In console doe je dit als volgt:
man chmod
Voor de grafische omgeving is meestal het xman commando beschikbaar. Als je deze uitvoert, krijg je het volgende schermpje te zien:

We gaan xman gebruiken om informatie te zoeken over het chmod commando. In het hoofschermpje klik je op "Manual Pages", waarna een basisvenster opent. Van hieruit heb je de beschikking over alle man-pages die op je systeem geinstalleerd staan.
Klik op "Options" (muisknop ingedrukt houden) en ga naar "Display Contents". Je wordt nu naar een overzicht van man-pages gebracht. Kies nu "Search" (ook weer via het "Options" menu) en type in het venster dat je voor je krijgt de naam van het gezochte commando in. In ons geval 'chmod'. Klik vervolgens op "Manual Page".
Nu verschijnt de chmod manual pagina. Je kunt deze nu vanaf het scherm lezen. Scrollen door de tekst doe je door met de linker en rechtermuisknop op de scrollbalk te klikken (links is naarbeneden, rechts is omhoog).
De "Sections" menu optie biedt de mogelijkheid om een index te zien van man-pages met een specifiek onderwerp.

Elke sectie heeft een nummer, te weten (1) tot en met (8). Op elk UNIX-systeem is deze sectie indeling hetzelfde. Alle gebruikerscommando's vallen onder sectie 1, de beheerstools onder sectie 8, etc. Dit is nuttig om te weten. Vaak als verwezen wordt naar een man-page, staat er tussen haakjes achter in welke sectie deze pagina te vinden is. Het is namelijk mogelijk dat bijvoorbeeld een gebruikerscommando onder dezelfde naam in de man-pages staat als bijvoorbeeld een subroutine. In xman kun je eenvoudigweg via het menu de sectie aangeven. Via console heb je de mogelijkheid om het sectie-nummer aan te geven door deze, gescheiden door een spatie, tussen 'man' en het commando te plaatsen. Bijvoorbeeld:
man 1 chmod
Het man-commando gaat wel klagen als een bepaalde man-page niet beschikbaar is of niet in de opgevraagde sectie voorkomt.
Om nog terug te komen op andere voorzieningen in sommige desktop omgevingen om man-pages op te vragen: Konqueror (onderdeel van KDE) heeft ook ingebouwde man-pages functionaliteit. Stel, je bent op zoek naar de chmod manpage en je hebt Konqueror voor je, type dan in de adresbalk in: man:/chmod en Konqueror geeft op een fraaie manier de gewenste man-pagina weer. Zoals je ziet als je dit voorbeelt intypt, vraagt Konqueror gelijk uit welke sectie je de man-pagina wil opvragen (chmod staat in twee secties).
De weg kwijt?
Zowel man als xman hebben een handige functionaliteit ingebouwd voor als je wel weet wat je wil, maar als je niet de juiste commando's daarvoor weet. Stel, je wilt de eigenaar van een bestand wijzigen, maar je weet niet meer welk commando je daarvoor zou moeten gebruiken. Je kunt dan proberen het juiste commando te vinden (en de bijbehorende man-page) door bijvoorbeeld in console in te typen man -k "change ownership". De uitvoer zal zijn:
user@computer:~$ man -k "change ownership" chown (2) - change ownership of a file fchown (2) - change ownership of a file lchown (2) - change ownership of a file
Voor meer informatie hierover kun je kijken in de manpages van man (man man). Hierin wordt weer verwezen naar de man-page van apropos (man apropos). Xman heeft ook een zoek-functie, die vind je in het menu "Options". Je voert een zoekterm in en klikt dan op 'apropos'.
Tot slot: nut?
Zelfstandig softwareproblemen oplossen en oplossingen van vraagstukken uitwerken is iets wat voor veel beginnende Linux-gebruikers vrij nieuw is. Het is natuurlijk erg makkelijk om op een forum of nieuwsgroep gelijk te vragen waar je niet in een keer uitkomt, maar je zult merken dat het veel gaver is om zelf je problemen te leren oplossen. De manual pagina's zijn hierin praktisch onmisbaar. Het kan bijvoorbeeld voorkomen dat je je afvraagt of een commando bepaalde mogelijkheden heeft. De man-pagina kan hierover meestal wel uitsluitsel geven. Dat de man-pagina's lokaal op je computer staan, heeft als voordeel dat als je even geen Internet toegang hebt, je toch de primair benodigde informatie tot je beschikking hebt.
Daarnaast is het erg leerzaam om gewoon eens met xman door de manual pagina's heen te bladeren en de pagina's te bekijken van commando's die je al wel kent. Vaak kom je leuke nieuwe opties tegen die je nog niet eerder kende. En onthou: zelfs een echte Unix goeroe grijpt regelmatig naar de man-pages.



