man(1)

NOME
man - un'interfaccia ai manuali di riferimento in linea

SINTASSI
man [-c|-w|-tZT dispositivo] [-adhu7V] [-m sistema[,...]] [-L locale] [-p stringa] [-M percorso] [-P paginatore] [-r prompt] [-S lista] [-e estensione] [[sezione] pagina ...] ...
man -l [-7] [-tZT dispositivo] [-p stringa] [-P paginatore] [-r prompt] file ...
[apropos opzioni] espr_reg ...
[whatis opzioni] pagina ...

DESCRIZIONE
man è il paginatore dei manuali del sistema. Di solito ognuno degli argomenti pagina dati a man è il nome di un programma, di un'utility o di una funzione. La pagina di manuale associata con ognuno di questi argomenti è poi trovata e mostrata. Una sezione, se fornita, indirizzerà man a guardare solo in quella sezione del manuale. L'azione predefinita è di ricercare in tutte le sezioni disponibili seguendo un ordine predefinito e di mostrare solo la prima pagina trovata, anche se pagina esiste in diverse sezioni. La seguente tabella mostra i numeri delle sezioni del manuale seguiti dai tipi di pagine che contengono
1 | Programmi eseguibili e comandi della shell
2 | Chiamate al sistema (funzioni fornite dal kernel)
3 | Chiamate alle librerie (funzioni all'interno delle
 | librerie di sistema)
4 | File speciali (di solito trovabili in /dev)
5 | Formati dei file e convenzioni p.es. /etc/passwd
6 | Giochi
7 | Pacchetti di macro e convenzioni p.es. man(7), groff(7).
8 | Comandi per l'amministrazione del sistema (solitamente
 | solo per root)
9 | Routine del kernel [Non standard]
Una pagina di manuale consta di diverse parti. Queste possono essere etichettate NOME (NAME), SINTASSI (SYNOPSIS), DESCRIZIONE (DESCRIPTION), OPZIONI (OPTIONS), FILE (FILES), VEDERE ANCHE (SEE ALSO), PROBLEMI (BUGS), e AUTORE (AUTHOR). Le seguenti convenzioni si applicano alla sezione SINTASSI e possono essere usate come una guida per le altre sezioni.
testo in grossetto | scrivere esattamente come mostrato.
testo in corsivo | rimpiazzare con un argomento appropriato.
[-abc] | ognuno o tutti gli argomenti all'interno
 | di [ ] sono opzionali.
-a|-b | opzioni separate da | non possono essere
 | usate assieme.
argomento ... | argomento è ripetibile.
[espressione] ... | l'intera espressione all'interno
 | di [ ] è ripetibile.
L'illustrazione del comando o funzione è un modello che dovrebbe corrispondere a tutte le possibili invocazioni. In alcuni casi è preferibile illustrare diverse invocazioni esclusive come mostrato nella sezione SINTASSI di questa pagina di manuale.

ESEMPI

man ls
    Mostra la pagina di manuale per la voce (programma) ls.

man -a intro
    Mostra, in successione, tutte le pagine di manuale intro disponibili contenute nel manuale. È possibile uscire tra due visualizzazioni successive o saltarne una qualsiasi.

man -t alias | lpr -Pps
    Formatta la pagina di manuale indicata da `alias', solitamente una pagina di manuale della shell, nel formato predefinito di troff o groff e la redireziona, tramite pipe, alla stampante chiamata ps. L'output predefinito per groff è di solito in PostScript. man --help dovrebbe mostrare quale preprocessore è collegato con l'opzione -t.

man -l -Tdvi ./foo.1x.gz > ./foo.1x.dvi
    Questo comando decomprime e formatta il sorgente nroff della pagina di manuale ./foo.1x.gz in un file device independent (dvi) . La redirezione è necessaria in quanto l'opzione -T fa sì che l'output sia diretto verso lo stdout senza nessun paginatore. L'output può essere visto con un programma tipo xdvi o ulteriormente convertito in PostScript usando un programma tipo dvips.

man -k printf
    Cerca la parola chiave printf nelle descrizioni brevi e nei nomi delle pagine considerandola una espressione regolare. Mostra qualsiasi corrispondenza. Equivalente a apropos -r printf.

man -f smail
    Cerca le pagine di manuale indicate da smail e mostra una breve descrizione di tutte quelle trovate. Equivalente a whatis -r smail.

PANORAMICA
Molte sono le opzioni disponibili a man in modo da fornire all'utente la maggior flessibilità possibile. Possono essere fatti cambiamenti al percorso di ricerca, all'ordine delle sezioni, al preprocessore per l'output, e ad altri comportamenti e operazioni elencati in dettaglio più avanti. Se impostate, le varie variabili d'ambiente sono interrogate per determinare le operazioni di man. È possibile impostare la variabile "omni comprensiva" $MANOPT ad una stringa qualsiasi nel formato della riga di comando, con l'eccezione che ogni spazio che sia parte integrante dell'argomento di un'opzione deve essere preceduto da un backslash (`\'). man analizzerà $MANOPT prima di analizzare la propria riga di comando. Quelle opzioni che richiedono un argomento, saranno ridefinite se le stesse opzioni si trovano anche nella riga di comando. Per inizializzare tutte le opzioni impostate in $MANOPT, può essere specificato -D come opzione iniziale della riga di comando. Ciò permette a man di "dimenticare" le opzioni specificate in $MANOPT sebbene debbano restare ancora valide. Le utility per le pagine di manuale raggruppate nel pacchetto man_db fanno un uso intenso delle cache delle basi di dati index. Tali cache contengono informazioni come la posizione di ogni pagina di manuale nel filesystem e cosa contiene il relativo whatis (breve descrizione della pagina di manuale). Uno dei compiti di man è assicurare che tali cache rimangano consistenti. Queste cache delle basi di dati evitano il bisogno di dover lanciare manualmente del software per aggiornare le tradizionali basi di dati whatis in formato testo, ed inoltre permettono a man di girare più veloce di quello che farebbe se dovesse ogni volta cercare la pagina di manuale appropriata. Se man non può trovare una base di dati index inizializzata da mandb per una particolare gerarchia di pagine di manuale, cercherà comunque la pagina di manuale richiesta sebbene sarà necessario un globbing dei file per effettuare la ricerca all'interno di quella gerarchia (N.d.T: con globbing [jargon] si intende l'espansione dei caratteri speciali all'interno di un nome costruito con wildcard - caratteri jolly). Invece se whatis o apropos non trovano la base di dati index, proveranno comunque a estrarre le informazioni dalla base di dati whatis tradizionale. Queste utility supportano i file sorgente nroff compressi, che abbiano, di default, una fra le seguenti estensioni .Z, .z e .gz. È possibile trattare con qualsiasi estensione di file compresso, ma questa informazione deve essere nota al momento della compilazione. Inoltre, di default, qualsiasi pagina cat prodotta è compressa usando gzip. Ognuna delle gerarchie `globali' delle pagine di manuale, come /usr/share/man o /usr/X11R6/man, può avere una directory qualsiasi come gerarchia delle pagine cat. Tradizionalmente le pagine cat sono salvate sotto la stessa gerarchia delle pagine di manuale, ma per ragioni come quelle specificate nel Linux File System Standard (FSSTND), è meglio salvarle da qualche altra parte. Per i dettagli su come ciò sia possibile, si legga manpath(5). Per i dettagli sul perché fare ciò, si legga lo standard. Con questo pacchetto è disponibile il ``supporto internazionale'': le pagine di manuale nella lingua nativa sono accessibili (se disponibili nel proprio sistema) usando le funzioni locale. Per attivare tale supporto, è necessario impostare $LC_MESSAGES e $LANG o qualche altra variabile d'ambiente dipendente dal sistema, al proprio linguaggio locale, solitamente specificato nel formato basato sul POSIX 1003.1: <linguaggio>[ _ <zona>[ . <set-di-caratteri>[ , <versione>]]] Se la pagina desiderata è disponibile nel proprio locale, sarà mostrata al posto della pagina standard (di solito in Inglese Americano). Il supporto internazionale per i cataloghi di messaggi è un'altra caratteristica di questo pacchetto e può essere attivato, sempre se disponibile, nello stesso modo. Se si trova che le pagine di manuale e i cataloghi dei messaggi forniti con questo pacchetto non sono disponibili per la propria lingua e si vuole fornirli, si contatti il manutentore il quale coordinerà tali attività. Per informazioni riguardanti altre caratteristiche ed estensioni disponibili con questo paginatore dei manuali, si leggano i documenti forniti con il pacchetto.

COMPORTAMENTO PREDEFINITO
man cercherà la pagina di manuale desiderata all'interno delle cache delle basi di dati index. Se tale ricerca non ha successo, è eseguita una verifica della consistenza della cache per assicurarsi che le basi di dati riflettano accuratamente il filesystem. Non è generalmente necessario eseguire mandb dopo che le cache sono state create inizialmente, finché una di questa non sia in qualche modo corrotta. Una volta che una pagina di manuale è stata localizzata, è eseguita una verifica per scoprire se il relativo file `cat' preformattato esiste già e se è più recente del file nroff. Se è così, questo file preformattato è (di solito) decompresso e poi visualizzato tramite un paginatore. Il paginatore può essere specificato in diversi modi oppure viene usato quello predefinito (si veda l'opzione -P per i dettagli). Se non c'è la pagina cat o è più vecchia del file nroff, quest'ultimo è filtrato attraverso vari programmi ed è mostrato immediatamente. Se può essere prodotto un file cat (esiste la relativa directory cat e ha i permessi appropriati), man comprimerà e salverà il file cat in background. Quanti e quali filtri usare viene determinato in svariati modi. Per prima cosa è interrogata l'opzione della riga di comando -p o la variabile d'ambiente $MANROFFSEQ. Se -p non è usata e la variabile d'ambiente non è settata, viene analizzata la riga iniziale del file troff per cercare una "stringa preprocessore". Per contenere una stringa preprocessore valida, la prima riga deve assomigliare a '\" <stringa> dove stringa può essere una combinazione qualsiasi delle lettere descritte più avanti dall'opzione -p. Se nessuno dei metodi suddetti fornisce informazioni sui filtri, ne è usato un insieme predefinito. Una pipeline di formattazione è creata dai filtri al formattatore primario (nroff o [tg]roff con -t) ed eseguita. Alternativamente, se esiste un programma eseguibile mandb_nfmt (o mandb_tfmt con -t) nella radice dell'albero dei manuali, questi è eseguito. A questi è passato il file sorgente del manuale, la stringa preprocessore, ed eventualmente il dispositivo specificato come argomento di -T.

OPZIONI
Nessun argomento delle opzioni che non sia duplicato nelle riga di comando, in $MANOPT, o in entrambe è dannoso. Per le opzioni che richiedono un argomento, ogni duplicazione annullerà il valore del precendente argomento.

-l, --local-file
    Attiva il modo `locale'. Formatta e visualizza file di manuale locali invece di effettuare una ricerca nella collezione di manuali del sistema. Ogni argomento pagina sarà interpretato come un file sorgente nroff nel formato corretto. Non è creato il file cat. Se '-' è elencato fra gli argomenti, l'input sarà preso dallo stdin. Quando non è usata questa opzione, e man non trova la pagina richiesta, prima di mostrare un messaggio d'errore, prova a comportarsi come se fosse fornita questa opzione, usando il nome come nome di un file e cercando una corrispondenza esatta.

-L locale, --locale=locale
    man di solito determinerà il proprio locale attuale chiamando la funzione C setlocale(3) che interroga diverse variabili d'ambiente, tra le quali $LC_MESSAGES e $LANG. Per ridefinire temporaneamente il valore così determinato, si usi questa opzione per fornire direttamente una stringa locale a man. Si noti che ciò non avrà effetto finché non è iniziata realmente una ricerca. L'output, come ad esempio il messaggio d'aiuto, sarà sempre visualizzato nel locale determinato inizialmente.

-D, --default
    Questa opzione è solitamente data come prima opzione e reinizializza il comportamento di man a quello predefinito. È usata per reinizializzare quelle opzioni che possono essere state impostate in $MANOPT. Qualsiasi opzione successiva -D avrà il solito effetto.

-M percorso, --manpath=percorso
    Specifica un percorso man alternativo. Di default, man usa il codice derivato da manpath per determinare il percorso di ricerca. Questa opzione ha priorità sulla variabile d'ambiente $MANPATH e fa sì che questa e l'opzione -m siano ignorate.

-P paginatore, --pager=paginatore
    Specifica quale paginatore dell'output usare. Di default, man usa exec /usr/bin/pager -s. Questa opzione ha priorità sulla variabile d'ambiente $PAGER e non va usata assieme con -f o -k.

-r prompt, --prompt=prompt
    Se una versione recente di less è usata come paginatore, man proverà ad impostare il suo prompt e alcune sue opzioni. Il prompt predefinito assomiglierà a Pagina di Manuale nome(sez) riga x dove nome denota il nome della pagina di manuale, sez denota la sezione in cui è stata trovata e x il numero di riga corrente. Ciò è ottenuto usando la variabile d'ambiente $LESS. Fornendo l'opzione -r seguita da una stringa si può modificare il prompt predefinito. La stringa può contenere il testo $MAN_PN il quale sarà espanso nel nome della pagina di manuale corrente e il nome della sua sezione racchiuso tra `(' e `)'. La stringa usata per produrre il default potrebbe essere espressa come \ Pagina\ di\ Manuale\ \$MAN_PN\ ?ltriga\ %lt?L/%L.:
    byte\ %bB?s/%s..?\ (FINE):?pB %pB\\%.. È stata spezzata in due righe solo per migliorarne la leggibilità. Per il suo significato si veda la pagina di manuale less(1). La stringa di prompt per prima cosa è valutata dalla shell. Perciò le doppie virgolette `"', le virgolette rovesce ``' e i backslash `\' devono essere precedute da `\'. La stringa di prompt potrebbe terminare con un `\$' il quale può essere seguito da ulteriori opzioni per less. Di default man setta le opzioni -ix8.

-7, --ascii
    Quando visualizza una pagina di manuale in ascii(7) puro su di un terminale a 7 bit o su un emulatore di terminale, alcuni caratteri potrebbero non essere visualizzati correttamente se si usa il descrittore di dispositivo latin1(7) con il GNU nroff. Questa opzione permette alle pagine di manuale in ascii puro di essere visualizzate in ascii con il dispositivo latin1. Non tradurrà alcun testo latin1. La seguente tabella mostra le traduzioni effettuate.
    Descrizione | Ottale | latin1 | ascii
    trattino di continuazione | 255 | ­ | -
    bullet (middle dot) | 267 | • | o
    accento acuto | 264 | ´ | '
    segno di moltiplicazione | 327 | × | x
    Se la colonna latin1 è visualizzata correttamente, il proprio terminale può essere configurato per i caratteri latin1 e questa opzione non è necessaria. Se le colonne latin1 e ascii sono identiche, si sta leggendo questa pagina usando questa opzione oppure man non l'ha formattata usando il descrittore di dispositivo latin1. Se manca la colonna latin1 o è corrotta, può essere necessario visualizzare le pagine di manuale usando questa opzione. Questa opzione è ignorata quando si usano le opzioni -t, -T o -Z e può essere inutile per nroff diversi dalla versione GNU.

-S lista, --sections=lista
    Lista è un elenco ordinato di sezioni di manuale separate da `:' su cui effettuare la ricerca. Usando questa opzione viene ignorata la variabile d'ambiente $MANSECT.

-a, --all
    Di default, man uscirà dopo aver visualizzato la pagina di manuale più adatta che trova. Usando questa opzione si forza man a visualizzare tutte le pagine di manuale con i nomi che corrispondono al criterio di ricerca.

-c, --catman
    Questa opzione non è di uso generale e dovrebbe essere usata solo dal programma catman.

-d, --debug
    Non mostra alcuna pagina di manuale, ma mostra un sacco di informazioni per il debug.

-e sotto-estensione, --extension=sotto-estensione
    Alcuni sistemi incorporano nella gerarchia principale delle pagine di manuale grossi pacchetti di pagine di manuale, come quelle che accompagnano il pacchetto Tcl. Per ovviare ai problemi dovuti alla presenza di pagine di manuale con lo stesso nome come exit(3), le pagine di Tcl sono di solito assegnate alla sezione l. Poiché questa non è una scelta fortunata, è ora possibile mettere le pagine nella sezione corretta, ed in questo caso assegnare l'estensione specifica exit(3tcl). Durante il funzionamento normale, man visualizzerà exit(3) piuttosto che exit(3tcl). Per trattare questa situazione ed evitare la necessità di sapere in quale sezione di trova la pagina di manuale richiesta, è ora possibile dare a man una stringa di che indica a quale pacchetto deve appartenere la pagina. Usando il precedente esempio, passando l'opzione -e tcl a man verrà ristretta la ricerca alle pagine che hanno estensione *tcl.

-f, --whatis
    Equivalente a whatis. Mostra, se disponibile, una breve descrizione tratta della pagine di manuale. Si veda whatis(1) per i dettagli.

-h, --help
    Mostra un messaggio d'aiuto ed esce.

-k, --apropos
    Equivalente a apropos. Cerca nelle descrizioni brevi delle pagine di manuale le occorrenze delle parole chiave e visualizza qualsiasi corrispondenza. Si veda apropos(1) per i dettagli.

-m sistema [,...], --systems=sistema [,...]
    Se questo sistema ha accesso alle pagine di manuale di altri sistemi operativi, si può accedere a quest'ultime usando questa opzione. Per cercare una pagina di manuale nella collezione delle pagine di manuale di NewOS, si usi l'opzione -m NewOS. Il sistema specificato può essere una combinazione di nomi di sistemi operativi separati da virgole. Per includere una ricerca fra le pagine di manuale del sistema operativo nativo, si includa il nome di sistema man nella stringa argomento. Usando questa opzione verrà ignorata la variabile d'ambiente $SYSTEM.

-p stringa, --preprocessor=stringa
    Specifica la sequenza di preprocessori da lanciare prima di nroff o troff/groff. Non tutte le installazioni avranno l'insieme completo di preprocessori. Alcuni dei preprocessori e le lettere che li designano sono: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r). Usando questa opzione viene ignorata la variabile d'ambiente $MANROFFSEQ. zsoelim è sempre lanciato come primo preprocessore.

-u, --update
    Le cache delle basi di dati index sono aggiornate `al volo', cioè non è necessario che mandb sia lanciato periodicamente per mantenerle consistenti. Se la pagina di manuale richiesta non è trovata all'interno della cache o è usata l'opzione -a, man farà una verifica della consistenza a livello directory per assicurarsi che le proprie cache siano una rappresentazione accurata del filesystem. Per forzare una verifica della consistenza a livello inode prima di trovare alcuna pagina di manuale, si usi l'opzione -u.

-t, --troff
    Usa /usr/bin/groff -mandoc per formattare le pagine di manuale nello stdout. Questa opzione non è richiesta assieme a -T o -Z.

-T dispositivo, --troff-device [=dispositivo]
    Questa opzione è usata per cambiare l'output di groff (o se possibile quello di troff) per adattarlo ad un dispositivo diverso da quello predefinito. Implica -t. Esempi (forniti con Groff-1.09) comprendono dvi, latin1, X75 e X100.

-Z, --ditroff
    groff lancerà troff e poi userà un appropriato post-processore per produrre un output adatto per il dispositivo scelto. Se /usr/bin/groff -mandoc è groff, questa opzione è passata a groff e verrà soppresso l'uso del post-processore. Implica -t.

-w, --where, --location
    Non mostra veramente le pagine di manuale, ma stampa le posizioni dei file che sarebbero stati formattati o visualizzati. Se il file è un file cat, mostra anche la posizione del suo file sorgente nroff.

-V, --version
    Mostra informazioni sulla versione e l'autore.

STATI D'USCITA

0   L'esecuzione del programma ha avuto successo.

1   Errore d'uso, di sintassi o nel file di configurazione.

2   Errore operativo.

3   Un processo figlio ha restituito uno stato d'uscita diverso da zero.

16  Almeno una delle pagine/file/parole chiave non esisteva e non aveva corrispondenza.

VARIABLI D'AMBIENTE

MANPATH
    Se $MANPATH è impostata, il suo valore è usato come percorso per la ricerca delle pagine di manuale.

MANROFFSEQ
    Se $MANROFFSEQ è impostata, il suo valore è usato per determinare l'insieme dei preprocessori attraverso i quali va passata la pagina di manuale. La lista dei preprocessori predefiniti dipende dal sistema.

MANSECT
    Se $MANSECT è impostata, il suo valore è una lista separata da `:' di sezioni ed è usata per determinare in quali sezioni di manuale cercare e in quale ordine.

PAGER
    Se $PAGER è impostata, il suo valore è usato come il nome del programma da usare per visualizzare la pagina di manuale. Di default, è usato exec /usr/bin/pager -s.

SYSTEM
    Se $SYSTEM è impostata, avrà lo stesso effetto dell'opzione -m stringa dove stringa sarà preso come il contenuto di $SYSTEM.

MANOPT
    Se $MANOPT è impostata, sarà analizzata prima della riga di comando di man ed è supposta essere in formato simile. Poiché tutte le altre variabili d'ambiente specifiche di man possono essere specificate come opzioni della riga di comando, e sono quindi candidate per essere incluse in $MANOPT ci si può aspettare che diventeranno obsolete. N.B.: Tutti gli spazi che dovrebbero essere interpretati come parte dell'argomento di un opzione devono essere preceduti da `\'.

LANG, LC_MESSAGES
    A seconda del sistema e dell'implementazione, una o entrambe le variabili $LANG e $LC_MESSAGES saranno interrogate per determinare il locale corrente. man visualizzerà i suoi messaggi usando quel locale (se disponibile). Si veda setlocale(3) per i dettagli.

FILE

/etc/manpath.config
    File di configurazione di man_db.

/usr/share/man
    Una gerarchia di pagine di manuale globale.

/usr/share/man/index.(bt|db|dir|pag)
    Una cache della base di dati globale index tradizionale.

/var/cache/man/index.(bt|db|dir|pag)
    Una cache della base di dati globale index alternativa e conforme con FHS.

VEDERE ANCHE
mandb(8), manpath(1), manpath(5), apropos(1), whatis(1), catman(8), less(1), nroff(1), troff(1), groff(1), zsoelim(1), setlocale(3), man(7), ascii(7), latin1(7), FSSTND.

STORIA
1990, 1991 - Originalmente scritta da John W. Eaton (jwe@che.utexas.edu). 23 Dicembre 1992: Rik Faith (faith@cs.unc.edu) applica le soluzioni ai problemi fornite da Willem Kasdorp (wkasdo@nikhefk.nikef.nl). 30 Aprile 1994 - 23 Febbraio 2000: Wilf. (G.Wilford@ee.surrey.ac.uk) ha iniziato lo sviluppo e il mantenimento di questo pacchetto con l'aiuto di un po' di gente. 30 Ottobre 1996 - 30 Marzo 2001: Fabrizio Polacco <fpolacco@debian.org> mantiene e migliora questo pacchetto per il progetto Debian, con l'aiuto di tutta la comunità. 31 Marzo 2001 - 07 September 2001: Colin Watson <cjwatson@debian.org> Traduzione di Bortolozzo Giovanni (borto@pluto.linux.it)