Gentoo Logo

Disclaimer : Dit document is niet juist en is niet meer onderhouden.


Gentoo Man Gids

Inhoud:

1.  Introductie

Het man programma

Iedereen heeft het ooit gebruikt in zijn/haar linux leven, namelijk het man commando. Hoewel het man programma er op zich eerder simplistisch uit ziet, heeft het een paar extra mogelijkheden dan enkel door de pagina scrollen. Met dit document hopen wij die extra mogelijkheden wat meer naar voor te rengen.

Man layout

Man pagina's zijn meestal opgeslagen in /usr/share/man. Maar man zal alle man pagina's kunnen openen die zich in het MANPATH bevinden. Gentoo slaat de MANPATH variabele in het algemeen op in /etc/env.d/. Binnenin deze mappen bevinden zich andere mappen met de manX structuur (waar X het sectienummer voorstelt). Een standaard man layout kan er bijvoorbeeld zo uit zien:

Codevoorbeeld 1.1: Standaard man structuur

$ ls /usr/share/man | grep man
man0p
man1
man1p
man2
man3
man3p
man4
man5
man6
man7
man8
man9
mann

Het eigenlijke sectienummer komt vrij gewoon over, maar merk op dat er een mann en enkele man#p mappen zijn. De volgende tabel omschrijft bovenstaande man pagina mappen en wat hun inhoud is.

Man Map Beschrijving
man0p De p hier staat voor POSIX, net zoals bij da andere mappen met een p in hun naam. Man pagina's in deze map beschrijven de functionaliteit van verschilleden POSIX header bestanden.
man1 Deze sectie is voor standaard commando's. De meeste programma's zullen hun man pagina hier plaatsen, hierdoor zal deze map de grootste zijn.
man1p Deze sectie beschrijft de POSIX versies van het commando beschreven in 1. Aangezien dit enkel basis commando's beschrijft zal dit veel kleiner zijn dan man1.
man2 Deze sectie beschrijft Linux kernel system calls.
man3 Deze sectie beschrijft standaard C library functies.
man4 Deze sectie beschrijft speciale apparaten. Deze apparaten zijn gewoonlijk kernel gericht maar Xorg-X11 heeft hier ook enkele manuals.
man5 Deze sectie beschrijft zowel de opmaak van bepaalde bestanden als welke bestanden een programma gebruikt. Je kent misschien wel verwijzingen zoals man 5 portage voor een beschrijving van de portage bestandsstructuur en man 5 make.conf voor de opmaak van make.conf.
man6 Deze sectie introduceert spelletjes en ander speciaal speelgoed.
man7 Deze sectie beschrijft standaarden en andere diverse items. Deze standaarden kunnen dingen zoals charsets, SQL statements, ISO standaarden en regular expressions bevatten.
man8 Deze sectie beschrijft administratieve commando's (die meestal door de root gebruiker worden uitgevoerd).
man9 Deze sectie is enigszins dun, maar moet documentatie voor diverse delen van de kernel bevatten.
mann Deze sectie wordt vooral gebruikt door Tcl/Tk. De n staat voor nieuw.

Ook al is dit geen uitgebreide en gedetailleerde lijst, het behandelt wel de man pagina's waar de meeste mensen in geïnteresseerd zijn. Soms kan je net zo gemakkelijk als deze lijst te weten komen wat een sectie inhoud door er eenvoudigweg even naar te kijken. Het volgende hoodstuk zal het gebruik van man bekijken met oog op deze layout.

2.  Werken met de man layout

Browsen door de man layout

Nu we de man layout begrijpen kunnen we enkele commando's bekijken. Soms moete we bepalen welke man pagina we willen. De eerste manier is adresseren via secties. Om een beschrijving van een sectie te vienden kan men man sectie intro als volgt gebruiken:

Codevoorbeeld 2.1: man intro gebruiken om een sectie te beschrijven

$ man 3 intro
(Output slightly modified to fit the document properly)
INTRO(3)               Linux Programmer's Manual                INTRO(3)



NAME
       intro - Introduction to library functions

DESCRIPTION
       This chapter describes all library functions excluding the library
       functions described in chapter 2, which implement system calls.
       There are various function groups which can be identified by a
       letter which is appended to the chapter number:
....

Jammer genoeg werkt dit niet altijd... Gelukkig voor ons is er een andere manier om commando's te zoeken die meerdere resultaten terug geven (zoals een library call en systeem commando die dezelfde naam hebben). Om dit te doen moeten we de -K parameter gebruiken.

Codevoorbeeld 2.2: man -K gebruiken om op een string te zoeken

$ man -K sleep
/usr/share/man/man0p/time.h.0p.gz? [ynq] n
/usr/share/man/man0p/unistd.h.0p.gz? [ynq] n
/usr/share/man/man2/alarm.2.gz? [ynq] n
/usr/share/man/man2/pause.2.gz? [ynq] n
/usr/share/man/man2/futex.2.gz? [ynq] n
/usr/share/man/man2/nanosleep.2.gz? [ynq] y
/usr/share/man/man2/semop.2.gz? [ynq] q

Soms is de output een pak langer, in dat geval kan het beter zijn om specifieke woorden te specifiëren. Nu we weten hoe we een man pagina moeten vinden zullen we bespreken hoe we een man pagina kunnen bekijken.

Man pagina's bekijken

Man pagina's bekijken kan op 2 manieren, de eerste is met man [man pagina naam]. De tweede methode is met man [sectie] [man pagina naam]. Laten we bc als voorbeeld nemen. We kunnen ofwel de eerste man pagina die voor bc verschijnt (wat sectie 1 zou zijn omdat het de laagste sectie is die een man pagina voor bc bevat):

Codevoorbeeld 2.3: De standaard man pagina bekijken

$ man bc
bc(1)                                            bc(1)


NAME
       bc - An arbitrary precision calculator language
...

Maar stel dat ik de POSIX versie wil zien? Dan kan ik de tweede methode gebruiken:

Codevoorbeeld 2.4: Een specifieke man pagina per sectie bekijken

$ man 1p bc
BC(P)        POSIX Programmer's Manual           BC(P)


NAME
       bc - arbitrary-precision arithmetic language
...

En de man pagina is verschenen. Nu we de man pagina hebben open staan is het tijd om er mee aan de slag te gaan. Laten we even kijken hoe we gaan navigeren en zoeken.

Navigatie en zoeken in man pagina's

Een man pagina navigeren is redelijk simpel. Om per lijn omhoog of omlaag te bewegen gebruik je de pijltjes (omhoog en omlaag). Om per pagina omhoog of omlaag te bewegen kan je de page up en page down toetsen gebruiken. Let wel op, deze instructies nemen aan dat de omgevingsvariabele PAGER naar de standaard pager less verwijst. Less heeft nog enkele navigatie commando's, maar de pijltjestoetsen voldoen gewoonlijk:

Codevoorbeeld 2.5: Aanvullende less navigatie toetsen

  e  ^E  j  ^N  CR  *  Een lijn verder   (of N lijnen).
  y  ^Y  k  ^K  ^P  *  Een lijn terug    (of N lijnen).
  f  ^F  ^V  SPACE  *  Een scherm verder (of N lijnen).
  b  ^B  ESC-v      *  Een scherm terug  (of N lijnen).
  z                 *  Een scherm verder (en zet schermen naar N).
  w                 *  Een scherm terug  (en zet schermen naar N).
  ESC-SPACE         *  Een scherm verder, maar stop niet aan het einde.
  d  ^D             *  Een half scherm verder (en zet een half scherm naar N).
  u  ^U             *  Een half scherm terug  (en zet een half scherm naar N).
  ESC-)  RightArrow *  Een half scherm naar rechts (of N posities).
  ESC-(  LeftArrow  *  Een half scherm naar links  (of N posities).
  F                    Altijd verder gaan; zoals "tail -f".

Zoeken is interessanter. De twee basis zoekfuncties zijn /patroon en ?patroon. De eerste versie zoekt voorwaarts, en de tweede zoekt achterwaarts. patroon is een regular expression dat beschreven is in man 7 regex. Laten we bijvoorbeeld zoeken naar de -D optie voor emerge. Eerst openen we de emerge man pagina:

Codevoorbeeld 2.6: De emerge man pagina openen

$ man emerge

In dat scherm druk je de / toets in zodat je op de prompt komt om voorwaarts te zoeken en typ het zoekpatroon:

Codevoorbeeld 2.7: De prompt tevoorschijn halen

     gracefully handles updating installed packages to newer releases as well.
     It handles both source and binary packages, and it can be used to create
     binary packages for distribution.

EBUILDS, TBZ2S, CLASSES AND DEPENDENCIES
/\-D

Nota: De \ is hier geplaatst om het - teken te ontsnappen wat anders gebruikt zou worden als deel van een regular expression.

Dit zal de man pagina doorzoeken en het gezochte item tevoorschijn halen:

Codevoorbeeld 2.8: Voorwaartse zoekresultaten

  --deep (-D)
        When used in conjunction with --update, this flag forces emerge to consider the entire
        dependency tree of packages, instead of checking only the immediate dependencies of
        the packages.  As an example, this catches updates in libraries that are not directly
        listed in the  dependencies of a package.

Als je een zoekresultaat tegenkomt en wilt verder zoeken naar dezelfde resultaten druk dan opnieuw op / en druk enter (voer dus geen patroon in). Dit zal de zoekactie standaard naar het vorige patroon laten zoeken. Bij sommige man pagina's zijn er opties weergegeven die laten uitgelegd worden. Neem nu bijvoorbeeld man 5 portage. Het geeft een lijst weer van de bestanden die gebruikt zijn en legt dan uit waarvoor ze gebruikt worden. Enkele keren voorwaarts zoeken zou je er uiteindelijk brengen maar er is een eenvoudigere methode, met de tweede methode, achterwaarts zoeken. Laten we dit gebruiken om de omschrijving van package.mask te vinden. Open eerst man 5 portage:

Codevoorbeeld 2.9: man 5 portage man pagina openen

$ man 5 portage

Druk nu SHIFT+g. Dit brengt je naar het einde van de pagina:

Codevoorbeeld 2.10: Einde van de man pagina

SEE ALSO
       emerge(1), ebuild(1), ebuild(5), make.conf(5)

Portage 2.0.51        Jan 2004            PORTAGE(5)
lines 418-442/442 (END)

Nu gaan we verder en voeren het zoekpatroon in voor de ?patroon achterwaartse zoekoptie. Druk eerst ? in om de prompt tevoorschijn te halen en voer package.unmask in:

Codevoorbeeld 2.11: Het patroon specifiëren

SEE ALSO
       emerge(1), ebuild(1), ebuild(5), make.conf(5)

Portage 2.0.51        Jan 2004           PORTAGE(5)
?package.unmask

Druk op enter om het resultaat te tonen:

Codevoorbeeld 2.12: Het zoekresultaat

  package.unmask
       Just like package.mask above, except here you list packages you want to unmask.
       Useful for overriding the global  package.mask  file (see below).  Note that
       this does not override packages that are masked via KEYWORDS.
...

En de zoekopdracht is afgerond! Merk op dat net als bij / je zonder patroon bij ? verder zoekt naar het laatst gebruikte patroon.

Besluit

Hier besluiten we de man gids. Hopelijk heeft deze gids wat meer licht kunnen werpen op de navigatie van man pagina's en misschien zelfs enkele nieuwe tips voor de meer ervaren gebruikers. Voor diegene die een alternatieve methode verkiezen om man pagina's te navigeren zijn volgende ook mogelijk:

  • app-text/man2html - een programma om man pagina's om te zetten
  • app-text/tkman - een op tk gebaseerde man pagina browser

Ook de KDE web browser Konqueror kan de man pagina's verkennen met behulp van de man: syntax in de adresbalk (bv. man:emerge).



Print

Upgedate op 18 juni 2006

De originele versie van dit document wordt niet meer onderhouden

Korte inhoud: Deze gids toont hoe je man pagina's kan gebruiken met man.

Chris White
Author

Thomas Wouters
Translator

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.