I comandi della shell in Linux sono veramente tanti e sapere gli argomenti di ognuno risulta molto ostico, ecco che allora ci viene in aiuto il comando man per aprire e leggere le pagine di manuale. Normalmente è possibile utilizzare l’argomento (-h o –help) del comando per conoscerne la sintassi, ma per avere altre notizie dobbiamo necessariamente ricorrere al comando man seguito dal nome del programma, in questo modo avremo la possibilità di leggere le opzioni della riga di comando ed i modi d’uso, possiamo anche aprire la pagina del manuale per lo stesso man scrivendo: man man.
Ogni pagina di manuale è suddivisa in varie parti che indicano:
- NOME (NAME) – il nome del comando
- SINTASSI (SYNOPSIS) – quali parametri passare al comando ed in quale forma
- DESCRIZIONE (DESCRIPTION) – una descrizione delle funzioni svolte
- ESEMPI – alcuni esempi d’uso del comando
- PANORAMICA – una descrizione più approfondita sul comando
- COMPORTAMENTO PREDEFINITO – i dettagli sui processi che normalmente il comando esegue
- OPZIONI (OPTIONS) – l’elenco ordinato di tutte le opzioni accettate
- STATI D’USCITA – i valori di ritorno ed i loro significati
- VARIABILI D’AMBIENTE (ENVIRONMENT) – indica le variabili d’ambiente che influenzano il comportamento del comando
- FILE (FILES) – eventuali file collegati con il comando, per esempio per la sua configurazione
- VEDERE ANCHE (SEE ALSO) – un elenco dei comandi collegati in qualche modo a quello in esame
- CRONOLOGIA – chi ha sviluppato il programma nel corso degli anni e le modifiche fatte
A parte il nome e le modalità di invocazione, non tutte le parti della pagina sono sempre presenti. Una cosa da ricordare è che i parametri scritti tra le parentesi quadre sono opzionali e la presenza eventuale di sbarre verticali indica una mutua esclusione. Tutto quello che non è tra parentesi di solito è necessario e nei programmi GNU si hanno due forme per il parametro: la forma corta e quella lunga come abbiamo visto precedentemente.
Nella parte finale della pagina, sulla destra, è riportato il nome del comando o della pagina con un numero tra parentesi tonde. Questo numero indica la sezione del manuale dalla quale la pagina è estratta: ogni sezione del manuale contiene pagine relative ad una certa categoria di comandi e non solo. Le sezioni più comunemente consultate sono:
- Sezione 1 – contiene le pagine relative ai comandi di uso più comune come cat, ls, ecc…
- Sezioni 2 e 3 – contengono la descrizione delle chiamate a funzioni di sistema o di libreria usate di solito programmando in C
- Sezione 5 – contiene il formato dei file di sistema, come passwd, group, shadow, ecc…
- Sezione 6 – contiene le pagine relative ai giochi
- Sezione 8 – contiene le pagine relative ai comandi usati dall’amministratore ( root ) del sistema, come shutdown, fdisk, ecc…
La scelta delle sezioni è normalmente automatica, però in alcuni casi può succedere che il nome di un comando coincida con una funzione o di un file di sistema e che quindi abbiamo stessi file man in diverse sezioni, in questo caso man restituisce la prima pagina trovata. Per visualizzare anche le altre è possibile fare in due modi: specificare “-a” che indica a man di visualizzare una dopo l’altra le pagine delle diverse sezioni oppure indicare esplicitamente la sezione inserendo il numero della stessa prima del nome del comando. Per chiudere la pagina man basta premere q ( quit ).
Le pagine di manuale risiedono fisicamente nella cartella /usr/share/man e le rispettive sezioni, questo almeno nella distribuzione che andremo a creare, in particolare ogni file può essere anche compresso e noi utilizzeremo gzip per questo compito. Per creare i due pacchetti per la gestione delle pagine man potete scaricare questo file in formato compresso. Si tratta dei pacchetti man-pages e man-db, il primo che raccoglie le pagine di manuale principali ed il secondo il programma vero e proprio.
- accessdb – visualizza il database whatis in una forma leggibile
- apropos – cerca nel database whatis e mostra le descrizioni corte dei comandi aventi determinati caratteri
- catman – crea o aggiorna le pagine man
- lexgrog – mostra le informazioni riguardo ad una pagina di man
- man – formatta e mostra le pagine di man
- mandb – crea ed aggiorna il database whatis
- manpath – mostra il contenuto della variabile d’ambiente $MANPATH per la ricerca delle pagine man
- whatis – cerca nel database whatis e mostra le descrizioni brevi dei comandi con determinati caratteri
- zsoelim – analizza il file argomento cercando righe del tipo .so “nomefile”
A questo punto sapete che per avere tutte le informazioni sui comandi occorre scrivere man e nome del comando da studiare.
<< Lezione Precedente – Inizio Tutorial – Lezione Successiva >>