Comando man in Linux: leggere manuali, sezioni e cercare opzioni
man permette di leggere nel terminale i manuali installati sul sistema Linux. Con man ls, per esempio, aprite la documentazione di ls; il numero di sezione vi aiuta invece a distinguere un comando da una funzione o dal formato di un file.
Questa guida usa soprattutto le opzioni dell’implementazione man-db, comune nelle distribuzioni Linux. I manuali disponibili dipendono dai pacchetti installati: confrontate sempre il documento con la versione del programma che userete, soprattutto quando un esempio online descrive un altro sistema.
Cos'è il comando man?
man cerca la pagina richiesta nei percorsi configurati, la formatta e la passa a un pager, un programma per leggere il testo una schermata alla volta. Spesso il pager è less. In man-db, l’opzione -P ha precedenza su MANPAGER, che a sua volta ha precedenza su PAGER; il programma predefinito dipende dalla configurazione.
Il lettore man e i documenti sono componenti distinti. I pacchetti dei programmi, delle librerie o della documentazione forniscono le pagine: avere installato man non garantisce che esista il manuale di qualsiasi comando.
Sintassi di base e primo esempio
Il seguente è uno schema, non un comando da incollare. Sostituite pagina con il nome desiderato: le parentesi quadre indicano parti facoltative e i puntini una ripetizione.
man [opzioni] [[sezione] pagina...]
Per aprire il manuale di ls, eseguite:
man ls
Per scegliere una sezione, indicate il suo numero prima del nome della pagina.
man 5 passwd
Questo apre passwd(5), la descrizione del formato del file /etc/passwd, se installata. passwd(1) riguarda invece il comando per cambiare la password. Senza numero, man passwd cerca secondo l’ordine configurato e normalmente mostra la prima corrispondenza.
Come navigare e cercare nella schermata del manuale
I seguenti tasti sono generalmente disponibili quando il pager è less. Se viene impostato un pager diverso, le operazioni dei tasti possono variare.
| Tasto | Azione |
|---|---|
Space, Page Down |
Passa alla schermata successiva. |
b, Page Up |
Passa alla schermata precedente. |
↑, ↓ |
Sposta su o giù di una riga alla volta. |
g |
Vai all'inizio del documento. |
G |
Vai alla fine del documento. |
/testo |
Cerca una stringa verso il basso dalla posizione attuale. |
?testo |
Cerca una stringa verso l'alto dalla posizione attuale. |
n, N |
n ripete la ricerca nella direzione precedente; N nella direzione opposta. |
h |
Apre la guida ai tasti di less; non è il builtin help di Bash. |
q |
Esci dal manuale. |
Con man ls aperto in less, digitate /-a e premete Invio. La ricerca può trovare il testo anche in altri contesti: cercare --all o una parola della descrizione può essere più preciso. Le ricerche di less interpretano normalmente espressioni regolari; le impostazioni possono modificarne il comportamento.
Lettura della struttura di una pagina del manuale
Non tutte le pagine contengono le stesse voci. Nei manuali dei comandi trovate spesso queste sezioni:
| Sezione | Contenuto |
|---|---|
NAME |
Riepiloga il nome e la funzione della pagina in una sola riga. |
SYNOPSIS |
Mostra il formato di utilizzo dei comandi o delle funzioni. |
DESCRIPTION |
Spiega in dettaglio come funziona e il suo scopo previsto. |
OPTIONS |
Descrive le opzioni disponibili e l'effetto di ciascuna opzione. |
EXIT STATUS |
Spiega lo stato di uscita che distingue la terminazione normale dagli errori. |
ENVIRONMENT |
Descrive le variabili di ambiente che influenzano il funzionamento. |
FILES |
Mostra i file di configurazione correlati, i file di dati e i loro percorsi. |
EXAMPLES |
Fornisce esempi pratici di utilizzo. Potrebbe non essere disponibile in ogni pagina. |
SEE ALSO |
Indica altre pagine del manuale che è utile leggere insieme. |
In SYNOPSIS, il grassetto indica generalmente il testo da digitare e il corsivo un valore da sostituire. [ ] indica parti facoltative, ... ripetizioni. Un’alternativa separata da | richiede una scelta. Nel terminale il corsivo può diventare sottolineatura o colore: leggete anche la spiegazione della pagina.
Significato dei numeri delle sezioni del manuale
I manuali di Linux sono divisi in sezioni secondo la natura del documento. Poiché pagine con lo stesso nome possono esistere in più sezioni, è buona norma conoscere il numero della sezione per trovare il documento desiderato senza errori.
| Sezione | Classificazione | Esempio |
|---|---|---|
| 1 | Programmi eseguibili e comandi shell | ls(1), grep(1) |
| 2 | Chiamate di sistema | open(2), read(2) |
| 3 | Chiamate di libreria | printf(3), malloc(3) |
| 4 | File speciali e dispositivi | null(4), Interfaccia dei dispositivi |
| 5 | Formati di file e convenzioni | passwd(5), fstab(5) |
| 6 | Giochi | Manuali dei giochi installati |
| 7 | Altri argomenti e convenzioni | signal(7), man-pages(7) |
| 8 | Comandi di gestione del sistema | mount(8), useradd(8) |
| 9 | Routine del kernel | Questa è una sezione non standard e potrebbe non esistere su tutti i sistemi |
Nella documentazione potete trovare un numero dopo un nome, come passwd(1) o passwd(5). Questo numero non è una versione, ma una sezione del manuale. Ognuna può essere aperta come segue.
man 1 passwd
man 5 passwd
Come trovare pagine con lo stesso nome
Controllare tutte le sezioni corrispondenti
-a mostra le pagine corrispondenti in successione. Dopo q potete tornare a man, che può proporre un’altra pagina: uscire dal pager non significa necessariamente aver concluso l’intera sequenza. Il comportamento preciso dipende dall’implementazione.
man -a passwd
-f restituisce il nome della pagina e una breve descrizione. Ha lo stesso scopo di whatis.
man -f passwd
whatis passwd
Aprire solo una sezione specifica
La forma man 5 passwd è chiara e ampiamente usata. Man-db supporta anche i riferimenti seguenti; gli apici proteggono le parentesi dall’interpretazione della shell:
man 5 passwd
man passwd.5
man 'passwd(5)'
Per indicare la sezione in modo chiaro, preferite man 5 passwd.
Come cercare per parola chiave quando non si conosce il nome
Ricerca per nome e breve descrizione
man -k cerca parole chiave nei nomi e nelle brevi descrizioni delle pagine di manuale. apropos è utilizzato anche per lo stesso scopo.
man -k "copy files"
apropos "copy files"
In man-db, -k e apropos usano normalmente espressioni regolari. Le virgolette mantengono copy files in un unico argomento della shell, ma non disattivano i metacaratteri della ricerca. Con parole separate, apropos normalmente accetta una corrispondenza con almeno una parola; per richiederle tutte esiste -a. La documentazione di apropos distingue questi casi.
Ricerca nel testo completo del manuale
-K cerca nei sorgenti delle pagine, non soltanto nei nomi e nelle brevi descrizioni. Il confronto è normalmente una ricerca testuale; --regex abilita espressioni regolari. È un’operazione lenta: iniziate da -k e ricorrete al testo completo quando serve.
man -K "environment variable"
Potete limitare la ricerca alla sezione 5. Anche così il risultato non è una ricerca esatta sul testo visualizzato: commenti e marcatori di formattazione nei sorgenti possono produrre corrispondenze inattese o nasconderne altre.
man -K 5 "password database"
Opzioni man frequentemente usate
Le opzioni qui sotto sono organizzate in base all'implementazione di man-db ampiamente utilizzata in Linux. Poiché il supporto e il significato possono differire in altri sistemi operativi o implementazioni, il modo più accurato per verificare è usare man man per la descrizione sul sistema corrente.
| Opzione | Descrizione |
|---|---|
-a, --all |
Visualizza tutte le pagine man che corrispondono al nome. |
-f, --whatis |
Stampa il nome della pagina e una breve descrizione. |
-k, --apropos |
Cerca parole chiave nei nomi e nelle brevi descrizioni. |
-K, --global-apropos |
Cerca testo nei sorgenti delle pagine; può richiedere tempo. |
-w, --where |
Visualizza la posizione del file manuale originale senza aprire la pagina. |
-l, --local-file |
Visualizza il file manuale locale specificato invece del percorso di ricerca. |
-L locale, --locale=locale |
Specifica la localizzazione da utilizzare in quella esecuzione. |
-M percorso, --manpath=percorso |
Specifica direttamente il percorso in cui verranno ricercate le pagine man. |
Per individuare il file sorgente della pagina di ls, eseguite:
man -w ls
Usare help per i comandi builtin di Bash
Un comando builtin è eseguito dalla shell stessa. In Bash, type aiuta a riconoscere comandi come cd, alias e read; help ne mostra la documentazione incorporata. Il manuale di Bash fornito dal progetto documenta questi strumenti.
type cd
help cd
help -m cd
Vi aspettate che type cd identifichi cd come builtin; help cd ne mostra uso e opzioni, e help -m cd usa una struttura simile a un manuale. Per il documento completo di Bash, se installato:
man bash
Un nome può corrispondere a un alias, una funzione, un builtin o un eseguibile esterno. type -a NOME elenca le corrispondenze disponibili; sostituite NOME con il nome cercato. Per esempio, printf può comparire sia come builtin sia come programma esterno.
type -a printf
Manuali in italiano e impostazioni della locale
Se è installata la traduzione richiesta, man può scegliere la pagina in base alla locale, cioè alle impostazioni linguistiche e regionali. locale mostra le impostazioni effettive; LANG da solo non basta, perché LC_ALL e variabili specifiche come LC_MESSAGES possono avere precedenza.
locale
echo "$LANG"
Per chiedere la pagina nella locale C, normalmente la versione inglese, potete usare -L senza cambiare permanentemente la configurazione:
man -L C ls
Una locale italiana non installa automaticamente manuali in italiano. Senza una traduzione disponibile può apparire l’inglese. Le traduzioni possono essere meno aggiornate dell’originale: confrontate opzioni e versione del programma. -L agisce sulla scelta delle pagine; alcuni messaggi del programma possono continuare a usare la locale iniziale.
Se una pagina del manuale non è disponibile
Verificare se il comando e i pacchetti correlati sono installati
No manual entry for ... può indicare un nome errato, una sezione sbagliata o documentazione mancante. Prima controllate il comando: qui ls è un esempio concreto da sostituire con il nome che vi interessa.
type -a ls
command -v ls
Un’immagine minima o un container può non includere né il lettore né le pagine di base. Su Debian/Ubuntu, se i pacchetti sono disponibili nei repository configurati, potete installarli così. Controllate che l’aggiornamento degli indici riesca: la seconda riga parte solo se la prima termina con successo.
sudo apt update &&
sudo apt install man-db manpages
Su Rocky Linux/RHEL, l’alternativa con DNF è:
sudo dnf install man-db man-pages
Non eseguite entrambe le alternative: scegliete quella della vostra distribuzione. Le operazioni richiedono privilegi amministrativi e installano pacchetti. Questi nomi non garantiscono il manuale di ogni programma: alcune immagini escludono i file di documentazione, e le pagine di sviluppo, di OpenSSH o tradotte possono richiedere pacchetti separati. Verificate pacchetto, contenuto e politiche dell’immagine prima di reinstallare.
Verifica dei database di ricerca e dei percorsi
Se una pagina si apre ma man -k o whatis non trovano nulla, l’indice può essere assente o vecchio. Nei sistemi con man-db, mandb aggiorna gli indici; spesso è già eseguito automaticamente dal sistema. Per l’indice di sistema può servire:
sudo mandb
manpath calcola i percorsi di ricerca. MANPATH mostra soltanto l’eventuale valore impostato nell’ambiente: una stringa vuota non significa che man non abbia percorsi predefiniti. Non fissate questa variabile per tentativi; potrebbe escludere la documentazione installata.
manpath
printf '%s\n' "$MANPATH"
Esempi pratici
Trovare rapidamente le opzioni
In un manuale lungo potete raggiungere l’opzione che vi interessa con la ricerca del pager. Aprite, per esempio:
man tar
In less digitate /--exclude e premete Invio; poi passate alle altre corrispondenze con n e N.
Controllare il formato del file di configurazione
Prima di modificare un file di configurazione, cercate la pagina pertinente nella sezione 5. I significati dei campi, i valori consentiti, le regole dei commenti e gli esempi potrebbero essere spiegati.
man 5 fstab
man 5 ssh_config
man 5 sshd_config
Seguire i riferimenti ai documenti correlati
Se una pagina non contiene la risposta, controllate SEE ALSO alla fine del documento. Comandi correlati, file di configurazione, chiamate di sistema e documenti concettuali sono collegati nel formato nome(sezione), consentendo di ampliare sistematicamente l'ambito della ricerca.
man 2 open
man 7 path_resolution
In cosa differiscono man, --help e info?
| Metodo | Situazioni adatte | Caratteristiche |
|---|---|---|
NOME --help |
Quando volete scorrere rapidamente la sintassi e le opzioni | Adatto a controlli immediati; non tutti i comandi supportano questa opzione |
man NOME |
Quando volete vedere la documentazione dettagliata relativa ai significati delle opzioni, ai file e alle variabili d'ambiente | Fornisce documenti di riferimento installati sul sistema corrente |
info NOME |
Quando volete leggere in profondità i capitoli e gli esempi dei programmi GNU | Ha una struttura ipertestuale e richiede un documento Info separato. |
help NOME |
Quando cercate informazioni sui comandi integrati di Bash | Mostra l'aiuto per i comandi integrati forniti dal Bash corrente |
Potete controllare rapidamente la sintassi con --help, leggere il comportamento dettagliato in man e utilizzare help insieme per i comandi incorporati della shell.
Domande frequenti
Il numero dopo man indica la versione?
No. I numeri in printf(1) e printf(3) indicano le sezioni del manuale. La sezione 1 copre i comandi utente e la sezione 3 copre le funzioni di libreria, quindi anche se i nomi sono uguali, sono documenti diversi.
Come si esce dal manuale?
Se state leggendo la pagina con less, premete q. Con man -a potreste ricevere la proposta di aprire un’altra pagina; con un pager diverso, consultate la sua guida.
Perché il contenuto della pagina man è diverso dai documenti online?
La pagina locale e quella online possono riferirsi a versioni o implementazioni diverse. Controllate la documentazione del pacchetto installato e, se il programma lo supporta, la sua opzione --version. Non tutti i comandi accettano questa opzione e una pagina locale può essere assente o non corrispondere a un programma installato separatamente.
Cosa succede se non si conosce affatto il nome del comando?
Usate man -k PAROLA o apropos PAROLA, sostituendo il segnaposto. Per una ricerca per sezione con man-db potete usare, per esempio, apropos -s 1 copia. Le parole devono corrispondere alla lingua delle descrizioni disponibili; aggiungere parole separate può ampliare i risultati invece di restringerli, se non usate -a.
Scegliere il documento adatto
Per trovare il documento giusto, scegliete la sezione e usate -k se non conoscete il nome. Con -f controllate la breve descrizione e con -w il percorso; nel pager cercate l’opzione o l’argomento desiderato.
Consultate man man per le opzioni dell’implementazione installata. Per un builtin di Bash scegliete help; per una sintassi rapida, --help se supportato; per i capitoli di un manuale GNU, info se il relativo documento è installato.




