GNU/Linux: RTFM Read The Fantastic Manpage

Oggi parliamo di man, il comando con cui chiediamo al sistema la documentazione dei comandi installati. Il titolo della puntata dice tutto: RTFM, Read The Fantastic Manpage. Prima di mettervi le mani nei capelli e cercare in giro per la rete, partite sempre dalla pagina di manuale: tanto spesso l’informazione che cercate è già lì.

Le sezioni del manuale

La documentazione distribuita con Linux è divisa in sezioni, o volumi. Conviene ricordare questa divisione, perché quando sappiamo dove cercare una cosa possiamo usare direttamente il numero di sezione. Le principali:

  • 1: comandi eseguibili e programmi della shell;
  • 2: chiamate di sistema (system call) del kernel;
  • 3: funzioni di libreria, in particolare quelle del linguaggio C;
  • 4: file speciali (di solito in /dev);
  • 5: formati dei file e file di configurazione;
  • 6: giochi;
  • 7: varie (convenzioni, protocolli, panoramiche);
  • 8: comandi di amministrazione del sistema.

La sintassi base

Prendiamo un comando che conosciamo, ls, che elenca il contenuto di una cartella. Se voglio sapere tutte le opzioni e le possibilità, la cosa migliore è leggere il manuale:

man ls

La pagina è divisa in sezioni. In alto ci viene detto che ls fa parte del volume 1, quello dei comandi. Poi c’è l’intestazione, con una brevissima descrizione. Poi la sinossi, importantissima: ci dice com’è fatto il comando e come si aspetta gli argomenti. Per ls: il comando, poi le opzioni, poi il file o la cartella di cui vogliamo il contenuto.

Segue la descrizione: un approfondimento con il primo paragrafo di orientamento e l’elenco di tutte le opzioni, ciascuna con la sua spiegazione. Alcune le conosciamo già (-a, -l), altre sono molto specifiche. Quando dobbiamo fare qualcosa con un comando e non sappiamo come, la cosa migliore è consultare prima la man page, leggere le opzioni e usare quelle che servono.

Per muoversi nella pagina si usano le frecce su e giù, oppure Pagina su e Pagina giù per saltare di più righe. Si possono trovare anche sezioni sullo stato di uscita del comando, sull’autore, su come segnalare i bug, sul copyright e su altra documentazione da consultare. È un vero manuale d’istruzioni: e questo è uno dei punti di forza di Linux, avere sempre a bordo tutte le informazioni per usarlo. Basta avere la pazienza di leggere. Per uscire e tornare al prompt si preme q.

Cercare per parola chiave: man -k

Un uso meno frequente ma utile, se cercate qualcosa di specifico, è la ricerca per parola chiave, con l’opzione -k:

man -k printf

Ci vengono segnalate tutte le pagine di manuale che si riferiscono alla parola printf. A fianco di ogni risultato c’è un numero tra parentesi, che è la sezione del manuale. Nella lista compaiono due pagine printf: una nella sezione 1 (comandi) e una nella sezione 3 (chiamate di libreria). Le due pagine sono completamente diverse.

Chiedere una sezione specifica

Per chiamare una pagina in un volume preciso si scrive il numero della sezione prima del nome:

man 1 printf

Chiediamo la pagina printf del volume 1: è un comando che serve a produrre un output formattato secondo determinate regole. In cima c’è scritto “User Commands”. Invece:

man 3 printf

ci porta alla sezione per i programmatori: è la funzione printf della libreria standard del C (stdio.h), parte del kit per programmare in ambiente Linux. Completamente diverso dal semplice comando della sezione 1! È l’esempio che chiarisce a cosa servono i volumi.

Se non specifico la sezione, e scrivo semplicemente:

man printf

vengo rimandato alla sezione ritenuta più pertinente, normalmente quella dei comandi.

Tutte le sezioni in sequenza: man -A

Con l’opzione -a man mostra in sequenza tutte le sezioni in cui esiste la pagina:

man -a printf

Mi mostra subito la pagina del primo volume. Quando esco con q, man mi propone la successiva, quella del terzo volume: premendo Invio la visualizza, mentre con Ctrl+D salto e con Ctrl+C esco. Finite le sezioni disponibili, si torna al prompt.

Dove si trovano le pagine: man -w

In un sistema Linux tutto è raggiungibile: non ci sono parti del sistema nascoste, e anche le pagine di manuale stanno da qualche parte sul file system, dove potete andarle a cercare e, volendo, farci quello che vi pare. L’opzione -w ci dice dove:

man -w ls

La risposta è il percorso del file che contiene la pagina, qualcosa come:

/usr/share/man/man1/ls.1.gz

Le introduzioni alle sezioni

Esiste infine la pagina intro di ogni sezione, un’introduzione discorsiva a ciò che si trova in quel volume, ottima lettura per cominciare. Per il volume 1:

man 1 intro

Conclusione

Anche un comando semplice come man nasconde tante piccole chicche. Man è vostro amico: usatelo con pazienza e attenzione, vi può dare tantissime informazioni utili. E ricordate: leggete il manuale, prima di tutto.

Link e risorse

Sostieni il canale

PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE!

questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!