|
|
| Dit document is beschikbaar in: English Castellano Deutsch Francais Italiano Nederlands Russian Turkce |
door Guido Socher (homepage) Over de auteur: Guido houdt van Linux omdat het erg flexibel is en veel meer mogelijkheden biedt dan enig ander besturingssysteem. Vertaald naar het Nederlands door: Guus Snijders <ghs(at)linuxfocus.org> Inhoud: |
man-pagina's schrijven
Kort:
Ieder goed programma dat gebruikt kan worden vanuit de Unix
shell zou gedocumenteerd moeten zijn in zijn eigen man-page.
Deze tutorial geeft een korte introductie tot het schrijven van
manual pages.
|
Traditionele Linux commando regelutilities werden (en worden) altijd gedocumenteerd in man-pages. Een eenvoudige man commandonaam vertelt je hoe het programma te gebruiken.
Het voordeel van man-pages ten opzichte van andere vormen van documentatie is dat
> whichman -0 printf /usr/share/man/man1/printf.1.bz2 /usr/share/man/man3/printf.3.bz2De verschillende secties zijn:
Sectie
1 User commands (gebruiker commando's)
2 System calls (functies die door de kernel geleverd worden)
3 Subroutines (functies geleverd door libraries
(bibliotheken)
4 Devices (speciale bestanden in de /dev directory)
5 File format descriptions (indeling van bestanden,
zoals bijvoorbeeld /etc/passwd)
6 Games (spellen, spreekt voor zich)
7 Miscellaneous (Diversen, bijvoorbeeld macro's, conventies)
8 System administration tools that only root can execute
(tools voor het onderhoud van het systeem)
9 Another (overig)
n New documentation (nieuwe documentatie, kan verplaatsd
worden naar een meer toepasselijke sectie)
l Local (documentatie die refereert aan dit specifieke systeem)
Als je dus "man 1 printf" typt, krijg je de documentatie over het
shell commando printf en "man 3 printf" levert de beschrijving van
de C-library functie. Als je alleen "man printf" typt, wordt de
eerstgevonden pagina getoond (meestal printf van sectie 1).
om te controleren of er meerdere versies van man pages zijn, kun
je gebruik maken van het whichman commando, zoals hierboven
weergegeven (te downloaden van
mijn homepage of
je typt "man:printf" in konqueror en het zal je het volgende
vertellen:
Bash: MANPATH="/usr/local/man:/usr/man:/usr/share/man:/usr/X11R6/man:/usr/lib/perl5/man" export MANPATH Tcsh: setenv MANPATH "/usr/local/man:/usr/man:/usr/share/man:/usr/X11R6/man:/usr/lib/perl5/man"Na het zetten van je man path kun je "man Pod::Man" proberen om te zien of je een van de pages over Perl krijgt.
.TH -> (Title/Header) Dit begint de titel/header van de man page .SH -> (Section Header) Sectie kop .PP -> Nieuwe paragraaf ." -> Een commentaar regel .TP -> Spring de tekst in die 2 regels na deze macro komt
.nf _jouw_pre_formatted_ _tekst_komt_hier_____ .fiMerk op dat dit groff/nroff macros zijn en daardoor niet bij de speciale man-page macros horen. Ze lijken echter goed te werken op alle Unix systemen.
Alle man-page opmaak macros zijn gedocumenteerd in de man-page genaamd groff_man(7) (Klik hier voor een html versie van de groff_man(7) page). Ik zal niet alle macros uitleggen, maar stel in plaats daarvan voor om de groff_man page te lezen. De groff_man page is erg gedetailleerd en bevat alles wat je moet weten.
NAME Name sectie, de naam van de functie of commando
SYNOPSIS Gebruik
DESCRIPTION Algemene beschrijving
OPTIONS Zou opties en parameters moeten bevatten
RETURN VALUES Function calls, voor sectie 2 en 3 manpages
ENVIRONMENT Beschrijft omgevingsvariabelen.
FILES Bestanden geassocieerd met het onderwerp
EXAMPLES Voorbeelden en suggesties
DIAGNOSTICS Meestal gebruikt voor sectie 4 device interface
diagnostics
ERRORS Secties twee en drie fout- en signaal afhandeling
SEE ALSO Kruisreferenties en citaten
STANDARDS Conformaties aan standaarden indien van toepassing
BUGS Problemen en beperkingen
SECURITY CONSIDERATIONS
Beveiligings issues om rekening mee te houden
andere Eigen headers kunnen toegevoegd worden door de auteur
.TH cdspeed 1 "10 September, 2003" "versie 0.3" "USER COMMANDS" .SH NAME cdspeed \- verlaag de snelheid van je cdrom om een snellere toegangstijd te krijgen .SH SYNOPSIS .B cdspeed [\-h] [\-d device] \-s snelheid .SH DESCRIPTION Moderne cdrom drives zijn te snel. Het kan meerdere seconden kosten om een 60x cdrom drive op toeren te laten komen en data te lezen van de drive. Het resultaat is dat deze drives een stuk trager zijn dan een 8x of een 24x drive. Dit is vooral waar als je alleen af en toe (bijvoorbeeld iedere 5 seconden) een klein bestand leest. Deze utility limiteert de snelheid van de drive en laat de drive sneller reageren bij het benaderen van kleine bestanden. .PP cdspeed maakt de drive ook minder luidruchtig en is erg bruikbaar als je naar muziek wil luisteren op je computer. .SH OPTIONS .TP \-h geef een korte help tekst weer .TP \-d gebruik het opgegeven device in plaats van /dev/cdrom .TP \-s stel de snelheid in. Het argument is een geheel getal. Nul zet de maximum snelheid terug. .SH EXAMPLES .TP Zet de maximale snelheid naar die van een 8 speed cdrom: .B cdspeed \-s 8 .PP .TP Zet de maximum snelheid terug: .B cdspeed \-s 0 .PP .SH EXIT STATUS cdspeed levert een nul als exit status als het succesvol de maximum snelheid van de cdrom drive heeft gezet. In geval van fouten wordt er geen nul geleverd. .SH AUTHOR Guido Socher (guido (at) linuxfocus.org) .SH ZIE OOK eject(1)Klik hier (cdspeed.html) om bovenstaande pagina te bekijken (Engels).
nroff -man jouw_manpagebestand.1 | lessof
groff -man -Tascii jouw_manpagebestand.1 | lessOm een man-page te converteren naar platte, voor-geformateerde tekst (bijvoorbeeld voor een spellingscontrole) gebruik:
nroff -man jouw_manpagebestand.1 | col -b > xxxx.txtOm te converteren naar Postscript (voor printen of verdere conversie naar pdf) gebruik:
groff -man -Tps jouw_manpagebestand.1 > jour_manpagebestand.psOm de man page te converteren naar html, gebruik:
man2html jouw_manpagebestand.1
pod2man jouw_manpagebestand.pod > jouw_manpagebestand.1De syntax van de perl pod documentatietaal is beschreven in een man page genaamd perlpod. Het bovenstaande man page voorbeeld zou er in pod formaat uitzien zoals hieronder. Merk op dat POD gevoelig is voor spaties en de lege regels rond "=head" zijn ook nodig.
=head1 NAME
cdspeed - verlaag de snelheid van je cdrom om een snellere toegangstijd
te krijgen
=head1 SYNOPSIS
cdspeed [-h] [-d device] -s speed
=head1 DESCRIPTION
Moderne cdrom drives zijn te snel. Het kan meerdere seconden kosten
om een 60x cdrom drive op toeren te laten komen en data te lezen van de drive.
Het resultaat is dat deze drives een stuk trager zijn dan een 8x of
een 24x drive. Dit is vooral waar als je alleen af en toe (bijvoorbeeld
iedere 5 seconden) een klein bestand leest. Deze utility limiteert
de snelheid en laat de drive sneller reageren bij het benaderen
van kleine bestanden.
cdspeed maakt de drive ook minder luidruchtig en is erg bruikbaar als
je naar muziek wil luisteren op je computer.
=head1 OPTIONS
B<-h> geef een korte help tekst
B<-d> gebruik het opgegeven device in plaats van /dev/cdrom
B<-s> stel de snelheid in. Het argument is een geheel getal. Nul zet de
maximum snelheid terug.
=head1 EXAMPLES
Zet de maximum snelheid naar die van een 8 speed cdrom:
cdspeed -s 8
Zet de maximum speed terug:
cdspeed -s 0
=head1 EXIT STATUS
cdspeed levert een nul als exit status als het succesvoel de maximum
snelheid van de cdrom drive heeft gezet. In geval van fouten wordt er geen nul
geleverd.
=head1 AUTHOR
Guido Socher
=head1 SEE ALSO
eject(1)
|
|
Site onderhouden door het LinuxFocus editors team
© Guido Socher, FDL LinuxFocus.org |
Vertaling info:
|
2004-03-03, generated by lfparser version 2.43