Hulp

[Waarschuwing]Wees gewaarschuwd!

In GNU/Linux gaat het erom om zelfstandig te worden, je plan te kunnen trekken. Zoals gewoonlijk zijn er verschillende manieren om hetzelfde doel te bereiken. Je mag altijd vragen stellen aan een meer ervaren Linux gebruiker maar hoewel de meesten zeer vredelievend en geduldig zijn, zal men toch van je verwachten dat je zelf eerst al je bronnen uitgeput hebt. Eerst zelf proberen een probleem opzoeken is de vuistregel.

Man pagina's

Veel beginnende gebruikers vrezen de man pages of manuals (handleidingen) een beetje, omdat ze zo'n overweldigende bron van documentatie zijn. Vrijwel elk programma en elk bestand op je systeem hebben een of meerdere handleidingen. Bovendien zijn de handleidingen in het Engels opgesteld, wat voor ons Belgen een extra hindernis vormt. Ze zijn echter heel gestructureerd, zoals blijkt uit onderstaand voorbeeld, dat wordt opgeroepen met het man commando. Zelf heeft dat commando natuurlijk ook een man page. De opdracht om de handleiding van het man commando te tonen is dus:

man man

De eerste pagina ziet er zo uit:

MAN(1)                      Manual pager utils                      MAN(1)

NAME
   man - an interface to the on-line reference manuals

SYNOPSIS
   man  [-c|-w|-tZ]  [-H[browser]] [-T[device]] [-adhu7V] [-i|-I] [-m sys
   tem[,...]] [-L locale] [-p string] [-C file] [-M path] [-P  pager]  [-r
   prompt] [-S list] [-e extension] [[section] page ...] ...
   man -l [-7] [-tZ] [-H[browser]] [-T[device]] [-p string] [-P pager] [-r
   prompt] file ...
   man -k [apropos options] regexp ...
   man -f [whatis options] page ...

DESCRIPTION
   man is the systems manual pager. Each page argument given  to  man  is
   normally  the  name of a program, utility or function.  The manual page
   associated with each of these arguments is then found and displayed.  A
   section,  if  provided, will direct man to look only in that section of
   the manual.  The default action is to search in all  of  the  available
   sections, following a pre-defined order and to show only the first page
   found, even if page exists in several sections.

 Manual page man(1) line 1

De man pages worden getoond met behulp van het less commando. Je gebruikt dus dezelfde toetsencombinaties om door de tekst te navigeren, zie de paragraaf “Het less commando”.

De man pages zijn allemaal min of meer volgens dezelfde structuur opgebouwd:

  • Eerste lijn: Het boekdeel waaruit deze man page komt. Bijvoorbeeld: “MAN(1)”, het eerste boek, bevat handleidingen voor gebruikersopdrachten. In het midden staat de titel van de categorie van commando's of bestanden.

  • NAME: de naam van de opdracht of het bestand en een korte uitleg.

  • SYNOPSIS: de syntax van een commando: korte opsomming van de opties en/of argumenten die aanvaard worden door dat commando.

  • DESCRIPTION: uitgebreide beschrijving.

  • EXAMPLES: voorbeelden van standaardgebruik.

  • OVERVIEW: overzicht.

  • DEFAULTS: standaardgedrag.

  • OPTIONS: alle mogelijke opties die een bepaald commando aanvaardt, in het lang en het breed uitgelegd.

  • EXIT STATUS: het cijfer dat doorgegeven wordt aan de uitvoerder wanneer het commando gedaan heeft. Nul is OK, andere cijfers worden hier verklaard en zijn afhankelijk van het programma zelf.

  • ENVIRONMENT: variabelen die een invloed uitoefenen op het commando.

  • FILES: configuratiebestanden die dit programma beïnvloeden.

  • SEE ALSO: gerelateerde commando's.

  • HISTORY: geschiedenis van het ontstaan.

  • AUTHOR: informatie over de auteur(s).

  • REPORTING BUGS: contactinformatie.

  • COPYRIGHT: zegt iets over de licentie waarmee een programma meegeleverd wordt.

[Opmerking]Boeken?

Men spreekt van de boeken met man pagina's. Deze term stamt nog van in de tijd dat men de man pagina's afdrukte en inbond. Het eerste boek bevatte uitleg van de gebruikerscommando's; het tweede boek bevatte info over zogenaamde system calls, dat zijn funkties voor de kernel; het derde boek bevatte uitleg over de honderden verschillende bibliotheken of libraries; het vierde boek ging over speciale bestanden in /dev; het vijfde boek over configuratiebestanden enzovoorts. De documentatie bij een systeem vormde zo gemakkelijk een uit de kluiten gewassen boekenplank vol, er waren makkelijk 15 tot 20 boeken. Om papier te besparen en de documentatie handelbaarder te maken, werd ze gaandeweg in digitale vorm meegeleverd met het besturingssysteem.

Niet al deze hoofdingen komen aan bod in elke man pagina. Sommige commando's hebben meerdere man pagina's. Een voorbeeld vind je hieronder: als een configuratiebestand met instellingen voor het commando dezelfde naam heeft als het commando. Een derde man pagina kan bijvoorbeeld over de bilbiotheken gaan die bij het commando horen. Gebruik de -a optie om alle pagina's over een bepaald onderwerp te zien. Ze worden dan de ene na de andere over het scherm gerold, met behulp van het less programma. Wil je enkel een specifieke pagina zien, dan geef je het nummer van het boek op waarin je wilt kijken, bijvoorbeeld:

man 5 passwd

Het nummer van het juiste boek vinden, wordt uitgelegd in de paragraaf “Apropos en whatis”.

Deze man pagina gaat over het bestand /etc/passwd waarin alle gebruikers van een systeem opgesomd worden, terwijl man passwd eigenlijk het equivalent is van man 1 passwd, de handleiding voor het passwd commando om je wachtwoord te veranderen. Noteer dat het veranderen van het wachtwoord nu nog niet gaat, gezien je opgestart bent van de Live CD en dus geen opdrachten kan uitvoeren die iets veranderen aan het systeem.

[Belangrijk]Oefening

Lees zelf de handleiding voor het less commando. Open twee terminals en roep in beide de man page op. Gebruik de ene terminal om de man page te lezen, de tweede om de functionaliteiten van less te testen.

[Tip]Zware lektuur

De man pages en andere documentatie over het Linux systeem kunnen voor nieuwe gebruikers nogal zwaar op de maag liggen. Het is ook zo'n enorme hoeveelheid informatie, dat het moeilijk is alles ineens te vatten. En in een cursus kunnen we natuurlijk niet alles ineens uitleggen, of niemand zou hem lezen. Maak je in elk geval niet ongerust als je grote delen van de man pagina's niet begrijpt, en geef de moed niet op. Gaandeweg zal het makkelijker worden. Als je de hele Linux cursus doorgenomen hebt, doe je er best aan de besproken man pages nog eens door te nemen. Dan zal je er al heel wat meer van begrijpen. En houd altijd in gedachten dat ook de meest ervaren gebruikers niet alles uit het hoofd kennen en dat die mensen ook nog elke dag man pagina's lezen.

Andere manieren om documentatie te raadplegen

Info

De info pagina's vormen een andere indexering van de hulpdocumentatie. Ze hebben gewoonlijk meer recente informatie en sommigen vinden ze gemakkelijker om te gebruiken. De man pages zijn geïntegreerd in de info pagina's: als er geen info pagina beschikbaar is voor een bepaald commando of bestand, zal info gewoon de man pagina voor dat commando of bestand tonen.

[Belangrijk]Starten met info

Typ zelf info info in een terminal venster en ga naar de “programmed introduction sequence”. Bepaal zelf of je een man- dan wel een info-type bent.

Apropos en whatis

Een korte index van verklaringen voor een commando kan je oproepen door het whatis commando te gebruiken, bijvoorbeeld:

ubuntu@ubuntu:~$ whatis ls
ls                   (1)  - list directory contents

Dit toont korte informatie over het commando. Je kan dan de desbetreffende man pagina oproepen voor verdere uitleg, bijvoorbeeld in bovenstaand geval door man ls in te geven.

Het whatis commando haalt zijn informatie van een index die opgemaakt wordt op basis van de korte beschrijving in de man page van het betreffende commando of bestand. Als je echter niet weet welk commando je moet gebruiken, kan je met apropos het juiste vinden. Hier wordt niet enkel op commando gezocht (de eerste kolom), maar er wordt ook gekeken naar de eigenlijke beschrijving (laatste kolom). Stel dat je niet weet hoe je een web browser kan starten, doe dan het volgende:

ubuntu@ubuntu:~$ apropos browser
firefox (1)          - a Web browser for X11 derived from the Mozilla browser
gthumb (1)           - an image viewer and browser for GNOME
infobrowser (1)      - read Info documents
mozilla (1)          - a Web browser for X11 derived from the Mozilla browser
mozilla-firefox (1)  - a Web browser for X11 derived from the Mozilla browser
sensible-browser (1) - sensible editing, paging, and web browsing
smbtree (1)          - A text based smb network browser
viewres (1)          - graphical class browser for Xt
w3m (1)              - a text based Web browser and pager
www-browser (1)      - a text based Web browser and pager
x-www-browser (1)    - a Web browser for X11 derived from the Mozilla browser

Er zijn niet enkel web browsers, maar ook info browsers, image browsers, lokale network browsers, tekstgebaseerde web browsers enzovoorts. Als je later extra pakketten installeert op je Linux machine, zal je niet alleen deze resultaten zien, maar ook die betreffende ontwikkelingspakketten die nodig zijn of je kunnen helpen om browsers te schrijven.

Om het juiste commando te vinden, kijk je naar het nummer van het boek in de man pages waarin een resultaatlijn voorkomt (tussen haakjes in de eerste kolom). Je mag ervan uitgaan dat een resultaat uit het eerste boek, aangeduid met “(1)”, een door gewone gebruikers uitvoerbaar programma is.

[Opmerking]Allemaal browsers

Web browser: om te surfen; info browser: om documentatie te raadplegen; image browser: om beelden te tonen; network browser: om de machines op een netwerk in kaart te brengen; tekstbrowser: web browser zonder beelden, wordt bijvoorbeeld gebruikt door blinden die met de brailleregel surfen.

[Belangrijk]Start het juiste programma

Afgaand op bovenstaande resultaten, welk programma zou je starten? Probeer je keuze uit door de naam van het commando, gevolgd door Enter in te geven.

Ter vergelijking het verschil met whatis:

ubuntu@ubuntu:~$ whatis browser
browser: nothing appropriate.

De help optie

De meeste GNU commando's hebben ondersteuning voor de --help. Dit toont hoe je het commando gebruikt en geeft een korte uitleg over de beschikbare opties. Een voorbeeld:

ubuntu@ubuntu:~$ cat --help
Usage: cat [OPTION] [FILE]...
Concatenate FILE(s), or standard input, to standard output.

  -A, --show-all           equivalent to -vET
  -b, --number-nonblank    number nonblank output lines
  -e                       equivalent to -vE
  -E, --show-ends          display $ at end of each line
  -n, --number             number all output lines
  -s, --squeeze-blank      never more than one single blank line
  -t                       equivalent to -vT
  -T, --show-tabs          display TAB characters as ^I
  -u                       (ignored)
  -v, --show-nonprinting   use ^ and M- notation, 
    			   except for LFD and TAB
  --help     display this help and exit
  --version  output version information and exit

With no FILE, or when FILE is -, read standard input.

Report bugs to <bug-textutils@gnu.org>.

Grafische hulp

De Gnome helper toepassing heeft niet alleen de informatie van de man pages, maar geeft ook een overzicht van de grafische omgeving, mogelijke applets die je kan toevoegen aan allerlei balken, en nog veel meer.

Handeling met de muis.

Start deze toepassing door op de reddingsboei in de bovenste taakbalk van je openingsscherm te klikken (zie de paragraaf “Opgestart”). Je gebruikt deze toepassing net zoals een gewone web browser: links zijn blauw, klik erop met de linker muisknop.

Figuur 2.11. De Gnome help browser

Grafische help browser.

[Opmerking]Specifieke configuratie

De reddingsboei is specifiek voor deze distributie. In sommige andere distributies zal je het hulpprogramma in een menu terugvinden in plaats van in de taakbalk.

Uitzonderingen

Sommige commando's hebben geen afzonderlijke documentatie, omdat ze deel uitmaken van een ander programma. Voorbeelden zijn cd, pwd en exit. Deze commando's zijn een onderdeel van het shell programma Bash dat opgestart wordt in een terminal. Men noemt deze commando's ook wel eens shell builtin commands. Voor meer informatie over deze commando's moet je de handleiding van bash lezen.

Als je hebt zitten spelen met de instellingen van je Linux- of shellomgeving, kan het zijn dat de man pages er wel nog zijn, maar dat de man, apropos, whatis en info commando's ze niet meer vinden. We komen hierop terug in deel 3 van de cursus als we het over de MANPATH variabele hebben.

Sommige programma's hebben enkel een instructieset of referenties daarnaar in /usr/share/doc/<programma_naam>. Met cat of less kan je de bestanden daar bekijken.

In het onwaarschijnlijk geval dat je documentatie zou verwijderen - doe dit nooit bewust! - kan je een pakket plus alle documentatie ervoor opnieuw installeren. Ook dit wordt behandeld in deel 3.