man(1) permette di consultare da terminale il
"Manuale di programmazione UNIX". Nella prima edizione il manuale
era diviso in 7 sezioni (o paragrafi o capitoli):
- I. Commands
- II. System calls
- III. Subroutines
- IV. Special files
- V. File formats
- VI. User-maintained programs
- VII. Miscellaneous
FreeBSD usa invece questa suddivisione:
- 1. User commands.
- 2. System calls and error numbers.
- 3. Functions in the C libraries.
- 4. Device drivers.
- 5. File formats.
- 6. Games and other diversions.
- 7. Miscellaneous information.
- 8. System maintenance and operation commands.
- 9. Kernel developers.
similmente per quanto riguarda le manpage di Linux:
- 1. User commands (intro only)
- 2. System calls
- 3. Libc calls
- 4. Devices (e.g., hd, sd)
- 5. File formats and protocols (e.g., wtmp, /etc/passwd,
nfs)
- 6. Games (intro only)
- 7. Conventions, macro packages, etc. (e.g., nroff, ascii)
- 8. System administration (intro only)
- 9. Kernel internal routines
Ogni sezione è ulteriormente suddivisa in varie voci, ad es. la
I contiene una voce per ogni comando pensato per essere invocato
direttamente dall'utente.
$ man man
|
|
(manpage di man!) |
$ man mail
|
|
(mostra mail(1)) |
$ man printf
|
|
(printf(1)) |
$ man 3 printf
|
|
(printf(3)) |
$ man printf 3 printf
|
|
(prima printf(1) poi
printf(3)) |
$ man LS
|
|
(errore: il nome è
case-sensitive) |
$ man ls
|
|
(ok) |
Ogni voce viene indicata da un nome seguito dal numero di
sezione a cui appartiene tra parentesi. Questo è importante perché
vi sono spesso voci con lo stesso nome in sezioni diverse, ad es.
comandi che permettono di utilizzare una system call con lo stesso
nome del comando:
$ man chmod
|
|
(chmod(1)) |
$ man 2 chmod
|
|
(chmod(2) system call) |
$ man -w rmdir
/usr/share/man/man1/rmdir.1.gz
|
|
(dov'é la manpage di
rmdir(1)?) |
$ man -w 2 rmdir
/usr/share/man/man2/rmdir.2.gz
|
|
(dov'è la manpage di
rmdir(2)?) |
Le manpage hanno di solito un formato comune (anche se non
obbligatorio): sono divise in paragrafi. I più comuni sono:
NAME |
|
nome della voce e breve descrizione |
SYNOPSIS |
|
sommario della sintassi d'uso |
FILES |
|
file utilizzati dal programma |
SEE ALSO |
|
manpage correlate o link ad altra documentazione |
DIAGNOSTICS |
|
diagnostica prodotta dal programma |
BUGS |
|
bug e mancanze del programma |
STANDARDS |
|
gli standard di riferimento della voce |
WARNING |
|
note e avvertimenti importanti |
HISTORY |
|
nota storica |
AUTHOR |
|
autore del programma e/o della manpage |
Convenzioni usate nella sezione SYNOPSIS:
- - precede un argomento flag
- i letterali (ad es. i nomi dei comandi) vanno digitati così
come sono
- un argomento chiamato file si riferisce ad un nome di
file
- un argomento chiamato string si riferisce ad una stringa
di testo
- [ ] racchiudono un argomento opzionale
- ... indicano la possibile ripetizione del prototipo
del precedente argomento
- | indica una scelta tra alternative esclusive
Gli argomenti tipo file o string ecc. sono spesso
sottolineati o resi in inverso e i letterali in grassetto.
Segue un esempio della manpage di echo(1) di
FreeBSD:
ECHO(1) FreeBSD General Commands Manual ECHO(1)
NAME
echo - write arguments to the standard output
SYNOPSIS
echo [-n] [string ...]
DESCRIPTION
The echo utility writes any specified operands, separated by single blank
(` ') characters and followed by a newline (`\n') character, to the stan-
dard output.
The following option is available:
-n Do not print the trailing newline character. This may also be
achieved by appending `\c' to the end of the string, as is done by
iBCS2 compatible systems.
Some shells may provide a builtin echo command which is similar or iden-
tical to this utility. Consult the builtin(1) manual page.
DIAGNOSTICS
The echo utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
builtin(1), csh(1), printf(1), sh(1)
STANDARDS
The echo utility is expected to be IEEE Std 1003.2 (``POSIX.2'') compati-
ble.
FreeBSD 4.5 July 22, 1993 FreeBSD 4.5
Versioni storiche del manuale:
Estensione Linux/FreeBSD: l'opzione -a mostra tutte
le manpage che corrispondono al nome non solo la prima trovata come
avviene di default. L'opzione -k che equivale al comando
apropos(1) cerca la keyword indicata in un database
contenente una breve descrizione di tutti i comandi ed è utile
quando non si conosce o ricorda il nome del comando che svolge una
certa funzione. whatis è come apropos ma fa
match solo con parole intere.
$ man -a printf
|
|
(mostra printf(1) e
printf(3)) |
$ man -k number | grep -i line
|
|
(quale comando numera le
linee?) |
addr2line(1) - convert addresses into file names and line numbers
nl(1) - line numbering filter
random(6) - random lines from a file or random numbers
|
$ apropos fortran
|
|
(cos'é relativo al
fortran?) |
f77(1), g77(1) - GNU project Fortran Compiler (v0.5.24)
|
$ apropos whatis
apropos(1), whatis(1) - search the whatis database
makewhatis(1) - create whatis database
makewhatis.local(8), catman.local(8) - start makewhatis or catman
for local file systems
|
$ whatis whatis
apropos(1), whatis(1) - search the whatis database
makewhatis(1) - create whatis database
|
Il pager utilizzato da man per default è more(1), ma
si può specificare un pager diverso tramite l'opzione -P
o la variabile di ambiente PAGER.
|
|