Il Manuale Standard
Locazione della struttura di manualistica: /usr/share/man
La directory intermedia ha il nome share
per suggerire che, in una LAN con più computer della stessa distribuzione, può essere conveniente mantenere queste informazioni su un unico nodo di rete, in condivisione con gli altri.
Il manuale di Unix è composto da un certo numerodi sezioni standard numerate:
Sezione | Contenuto |
---|---|
1 | comandi utente |
2 | system calls |
3 | altre librerie |
4 | files di configurazione |
5 | altri files di configurazione |
6 | giochi |
7 | device drivers |
8 | comandi di amministrazione e di rete |
Possono esistere altre sezioni e sottosezioni.
Queste sezioni corrispondo alle sottodirectories man1
, man2
, ecc. della directory di manuale.
Originariamente, ai tempi dell'informatica americana, erano le uniche sottodirectories.
Poi ne sono compare altr, il cui nome è la sigla ISO di una lingua, p.es. it
, fr
, ...
Al di sotto di tali directories si ripete, forse parzialmente, la serie man1
, man2
, ecc.
Non è che basti che ci siano tali directories per avere la manualistica anche in tutte le lingue del mondo. Il supporto ad altre lingue è software che va installato separatamente.
Uso della manualistica
Esempi:
man passwd
- Pagina del comando passwd (sezione 1)
man 5 passwd
- Pagina del file /etc/passwd (sezione 5)
whatis passwd
- In quali sezioni si trovano pagine col titolo passwd
apropos password
- Quali pagine esistono che contengano la stringa password nel titolo o nella descrizione breve
Il database Whatis
Ogni pagina di manuale ha una sezione NAME, consistente in:
- il nome della pagina
- un trattino separatore
- una breve descrizione su una riga sola
Il manuale è indicizzato in un database con due chiavi: il nome e l'intera riga della sezione NAME. Questo è il database whatis
.
L'indicizzazione avviene in automatico con frequenza giornaliera.
Il comando whatis
compie una ricerca sul nome, il comando apropos sull'intera sezione NAME.
All'atto di installazione di nuovo software non di distribuzione può capitare che vengano inserite delle directories di manualistica in locazioni non standard.
Occorre allora impostare la variabile d'ambiente MANPATH
, che è una lista, separata da :
, di tutte le directories di manualistica.
Il database si può reindicizzare manualmente, con permessi amministrativi, coi comandi:
makewhatis
- in Red Hatmandb
- in Ubuntu
Sequenza di operazioni di man
Le pagine di manuale sono file compressi con gzip
, scritte in linguaggio troff (in Linux: GNU groff).
Questo è un linguaggio testuale di descrizione delle pagine (antenato di HTML).
Per vederne un esempio, provare:
gunzip -c /usr/share/man/man1/gzip.1.gz | less
Il comando man:
- decomprime la pagina
- compie la resa a video, interpretando il troff
- compie la paginazione a video con
less
o col paginatore indicato dalla variabile d'ambientePAGER