Capitolo successivo Capitolo precedente Indice

11. Documentazione

Esistono diverse fonti di documentazione su Linux. La maggior parte di questa è normalmente disponibile all'interno delle distribuzioni, ma la consultazione può risultare un problema per chi non ha esperienza.

11.1 Testo puro

Il modo più semplice con cui può essere stato scritto qualcosa è quello del testo puro. Questo è il caso dei file readme (leggimi) e simili, oppure di tutta quella documentazione che, per semplicità, è stata convertita anche in questo formato.

La lettura di questi file può essere fatta attraverso due programmi ben conosciuti: more oppure less. more è quello tradizionalmente più diffuso negli ambienti Unix; less è il più pratico ed è decisamente più ricco di piccoli accorgimenti.

Scorrimento a video

Come già accennato, i programmi utilizzati normalmente per lo scorrimento a video di un file di testo sono more e less. Le funzionalità essenziali di questi due programmi sono simili, anche se il secondo offrirebbe un gran numero di funzioni aggiuntive che qui non vengono considerate.

La sintassi di questi due programmi è la seguente.

more [<opzioni>] [<file>]...

less [<opzioni>] [<file>]...

Nell'utilizzo normale non vengono fornite opzioni e se non viene indicato alcun file negli argomenti, viene fatto lo scorrimento di quanto ottenuto dallo standard input.

Una volta avviato uno di questi due programmi, lo scorrimento del testo dei file da visualizzare avviene per mezzo di comandi impartiti attraverso la semplice pressione di tasti. Il meccanismo è simile a quello del programma vi: alcuni comandi richiedono semplicemente la pressione di uno o più tasti in sequenza; altri richiedono un argomento e in questo caso, la digitazione appare nell'ultima riga dello schermo o della finestra a disposizione.

La tabella (seguente) mostra l'elenco dei comandi comuni ed essenziali di questi due programmi.


Comando Descrizione
h Richiama una breve guida dei comandi disponibili.
H Come h.
Spazio Scorre il testo in avanti di una schermata.
Invio Scorre il testo in avanti di una riga alla volta.
b Quando possibile, scorre il testo all'indietro di una schermata.
/<modello> Esegue una ricerca in avanti, in base alla espressione regolare indicata.
n Ripete l'ultimo comando di ricerca.
Ctrl+L Ripete la visualizzazione della schermata attuale.
q Termina l'esecuzione del programma.
Q Come q.
Elenco dei comandi comuni ed essenziali di more e less.

La differenza fondamentale tra questi due programmi sta nella possibilità da parte di less di scorrere il testo all'indietro anche quando questo proviene dallo standard input, mentre per more non è possibile.

less permette inoltre di utilizzare i tasti freccia e i tasti pagina per lo scorrimento del testo, e inoltre di effettuare ricerche all'indietro.

La tabella (seguente) mostra l'elenco di alcuni comandi aggiuntivi disponibili con less.


Comando Descrizione
y Scorre il testo all'indietro di una riga alla volta.
?<modello> Esegue una ricerca all'indietro, in base alla espressione regolare indicata.
N Ripete l'ultimo comando di ricerca nella direzione inversa.
Elenco di alcuni comandi particolari di less.

Esempi

$ ls -l | more

$ ls -l | less

Scorre sullo schermo l'elenco del contenuto della directory corrente che probabilmente è troppo lungo per essere visualizzato senza l'aiuto di uno tra questi due programmi.

$ more README

$ less README

Scorre sullo schermo il contenuto del file README.

less è un programma che permette un utilizzo molto più complesso di quanto descritto in questa sezione, ma questo va oltre l'uso normale che normalmente se ne fa.

11.2 Pagine di manuale

Quasi tutti i programmi sono accompagnati da una pagina di manuale o man page. Si tratta di un documento stringato sull'uso di quel particolare programma, scritto in uno stile abbastanza uniforme.

Si distinguono diverse sezioni di queste pagine di manuale, a seconda del genere di informazioni in esse contenute. Può infatti accadere che esistano più pagine con lo stesso nome, appartenenti però a sezioni diverse. La tabella (seguente) riporta l'elenco di queste sezioni.


Sezione Contenuto
1 comandi utente
2 chiamate di sistema
3 chiamate di libreria
4 dispositivi
5 formati dei file
6 giochi
7 varie
8 comandi di sistema
9 routine del kernel
Sezioni delle pagine di manuale.

Quando si vuole fare riferimento a una pagina di manuale, se ne indica il nome seguito da un numero tra parentesi, che ne esprime la sezione. Per cui, man(1) indica la pagina di manuale di nome man nella prima sezione. Spesso, nella documentazione, si fa riferimento ai programmi in questo modo, per dare istantaneamente l'informazione di dove raggiungere le notizie che riguardano quel particolare programma.

Questa documentazione viene normalmente consultata attraverso il programma man che a sua volta, solitamente, si avvale di less, oppure more, per scorrere il documento. La tabella (tabella) mostra l'elenco dei comandi comuni essenziali di questi due programmi.

Collocazione fisica e nazionalizzazioni

Le pagine di manuale possono trovarsi in diverse posizioni all'interno del filesystem.

/usr/man/

Questa è la collocazione principale delle pagine di manuale.

/usr/X11R6/man/

Raccoglie le pagine di manuale relative a X Window System.

/usr/local/man/

È la posizione per le pagine di manuale dei programmi collocati dopo la directory /usr/local/.

Queste directory sono tutte suddivise o suddivisibili nello stesso modo. Si indicherà una qualsiasi di queste directory di partenza come <mandir>.

La collocazione effettiva dei file che costituiscono le pagine di manuale è nelle directory esprimibili nella forma seguente.

<mandir>/<locale>/man[1-9]

Ciò significa che, oltre alle directory <mandir> già viste, esiste un'altra directory <locale> da definire che poi si scompone in nove sottodirectory, da man1 a man9. Intuitivamente, ognuna di queste ultime sottodirectory contiene i file di manuale della relativa sezione: da 1 a 9.

La directory <locale> è facoltativa, nel senso che spesso manca. Può essere utilizzata per distinguere tra le pagine di manuale di diverse lingue o di diversi formati. Il nome di questa directory è stabilito dallo standard POSIX 1003.1 secondo la sintassi seguente.

<linguaggio>[_<territorio>][.<set-di-caratteri>][,<versione>]

Nel caso delle pagine di manuale in italiano, queste, ammesso che siano disponibili, dovrebbero trovarsi nelle directory <mandir>/it_IT/man[1-9]. In pratica, non si usa l'indicazione del set di caratteri, perché si sottintende ISO-8859-1. Per fare in modo però che queste directory vengano effettivamente utilizzate, è necessario che la variabile di ambiente LANG contenga il valore it_IT.

$ man

man [<opzioni>] <nome>...

Formatta ed emette attraverso lo standard output la pagina di manuale indicata dal nome.

Alcune opzioni

<numero-di-sezione>

Se prima del nome del comando o dell'argomento appare un numero, si intende che si vuole ottenere la pagina di manuale da una determinata sezione:

  1. comandi utente - comandi che possono essere eseguiti dall'utente all'interno di una shell;
  2. chiamate di sistema - funzioni di competenza del kernel;
  3. chiamate di libreria;
  4. file speciali - /dev/*;
  5. formati di file e convenzioni - /etc/*;
  6. giochi;
  7. pacchetti di macro e convenzioni;
  8. comandi di amministrazione del sistema - comandi di stretta competenza dell'utente root;
  9. routine del kernel.

-f

Si comporta come whatis ( whatis).

-h

Visualizza una breve guida di se stesso.

-k

Equivalente ad apropos ( apropos).

Alcuni comandi

Lo scorrimento del testo che compone le pagine di manuale indicate negli argomenti, viene fatto attraverso un programma esterno, richiamato automaticamente da man. Solitamente si tratta di more o di less. Di conseguenza, i comandi per lo scorrimento del testo dipendono dal tipo di programma utilizzato. Se si tratta di uno di questi due appena citati, sono sempre validi almeno quelli riportati nella tabella (tabella).

Esempi

$ man ls

Visualizza la pagina di manuale del programma ls.

$ man 8 lilo

Visualizza la pagina di manuale della sezione 8, del programma lilo.

$ whatis

whatis <parola>...

Cerca all'interno del database whatis una o più parole intere. whatis cerca le parole chiave all'interno di un set di file di database contenenti una breve descrizione dei comandi di sistema. Il risultato della ricerca viene emesso attraverso lo standard output. Sono visualizzate solo le corrispondenze con parole intere. Il database in questione viene rigenerato utilizzando il programma makewhatis ( makewhatis).

Esempi

$ whatis ls

Visualizza le righe del database whatis contenenti la parola ls.

$ apropos

apropos <stringa>...

Cerca all'interno del database whatis una o più stringhe. apropos cerca le stringhe all'interno di un set di file di database contenenti una breve descrizione dei comandi di sistema. Il risultato della ricerca viene emesso attraverso lo standard output. A differenza di whatis, sono visualizzate tutte le corrispondenze. Il database in questione viene rigenerato utilizzando il programma makewhatis ( makewhatis).

Esempi

$ apropos keyboard

Visualizza le righe del database whatis contenenti la stringa keyboard.

# makewhatis

makewhatis [<opzioni>]

Crea o aggiorna il database whatis del sistema di pagine di manuale. In pratica, crea un file con il nome whatis all'interno di ogni <mandir> ( `Collocazione e nazionalizzazioni') contenente la prima riga di ogni pagina di manuale. Viene utilizzato dai programmi whatis e apropos per effettuare delle ricerche sommarie all'interno di questo elenco.

11.3 Info

La documentazione info è un ipertesto realizzato dai file info e leggibile attraverso il programma info oppure all'interno di emacs. I file di questo ipertesto si trovano nella directory /usr/info/.

Le sezioni seguenti fanno riferimento in particolare all'utilizzo del programma info.

Organizzazione

La documentazione info è organizzata in file contenenti dei ``nodi''. Ogni nodo ha un nome e rappresenta una unità di informazioni. Trattandosi di un sistema ipertestuale, ogni nodo può avere riferimenti ad altri nodi contenenti informazioni aggiuntive o collegate.

Quasi tutti i nodi contengono almeno dei riferimenti standard definiti dalle voci seguenti:

Gli altri riferimenti possono essere organizzati in forma di menu o di riferimenti incrociati (cross-reference).

Ogni file info contiene almeno un nodo principale: Top.

I nodi vengono identificati formalmente secondo la notazione seguente.

[(<file-info>)][<nome-del-nodo>]

Se si indica solo il nome del nodo, si fa implicitamente riferimento al file utilizzato in quel determinato momento; se si indica solo il nome del file, si fa implicitamente riferimento al nodo Top.

Avvio di info

info [<opzioni>] [<voce>... ]

info è il programma che consente di consultare i file info senza l'ausilio di emacs. Se non viene indicato alcun argomento, in particolare, se non viene indicato il file info da consultare, viene aperto il file /usr/info/dir.

Alcune opzioni possono essere utili.

Dopo l'indicazione delle opzioni si possono aggiungere dei nomi che fanno riferimento a voci di menu.

Esempi

$ info -f pippo

Inizia la visualizzazione del file pippo a partire dal suo nodo principale.

$ info -f pippo pappa

Seleziona la voce di menu pappa che dovrebbe essere contenuta nel nodo principale del file pippo.

$ info -f info

Inizia la visualizzazione del file info a partire dal suo nodo principale.

$ info info

Seleziona la voce di menu info dal nodo principale del file dir (/usr/info/dir) che è quello predefinito.

Utilizzo del sistema

Per poter leggere le informazioni contenute in questi file attraverso il programma info, occorre conoscere alcuni comandi che non sono necessariamente intuitivi.

Questi comandi si impartiscono semplicemente premendo il tasto della lettera o del simbolo corrispondente. Alcuni di questi comandi richiedono degli argomenti, in tal caso si è costretti a inserirli e a farli seguire da [Invio].

I comandi più importanti sono riportati nella tabella (seguente).


Comando Descrizione
h Visualizza la guida del programma info.
? Visualizza l'elenco dei comandi disponibili.
d Visualizza il file dir.
q Termina l'esecuzione del programma.
Ctrl+g Interrompe il comando in corso di digitazione.
Ctrl+l Ripristina l'immagine sullo schermo.
l Ritorna al nodo precedentemente selezionato.
Elenco dei comandi principali di info.

Quando si usa un ipertesto è molto importante conoscere il modo con cui si può ritornare sui propri passi. In questo caso, il comando l permette di tornare indietro, ed è particolarmente utile quando si seleziona un comando di aiuto come h o ?.

Primo impatto

La figura (seguente) mostra il nodo principale del file info, cioè del documento che spiega il funzionamento di questo tipo di ipertesto.


La guida all'uso della documentazione info.

La prima riga, quella che appare in alto, contiene in particolare il nome del file e del nodo.

File: info, Node: Top,  Next: Getting Started,  Prev: (dir), Up: (dir)

La penultima riga, la seconda dal basso, riporta ancora il nome del file e del nodo, oltre alla dimensione del nodo in righe e alla parola All.

--zz-Info: (info.gz)Top, 20 lines --All-------------------------------

La parola All indica in questo caso che il nodo appare completamente nello spazio a disposizione sullo schermo o nella finestra.

L'ultima riga dello schermo viene usata per dare informazioni all'utilizzatore e come spazio per l'inserimento di argomenti quando i comandi ne richiedono.

Riferimenti standard

Sulla parte iniziale di ogni nodo, insieme al nome del file e del nodo stesso, sono riportati alcuni riferimenti standard (ad altri nodi). Sono simbolicamente rappresentati dai termini Next (successivo), Prev (precedente) e Up (superiore).

Chi ha redatto il file info ha definito quali debbano essere effettivamente i nodi a cui queste voci si riferiscono e a questi si accede utilizzando i comandi n, p e u, rispettivamente.


Comando Descrizione
n Visualizza il nodo successivo.
p Visualizza il nodo precedente.
u Visualizza il nodo superiore.
Elenco dei comandi per la navigazione attraverso i riferimenti standard.

Il riferimento Up non corrisponde necessariamente al nodo principale (Top) del file che si sta consultando, ma a quello che, per qualche motivo, rappresenta in quel momento un riferimento principale.

Lo stesso tipo di ragionamento vale per i riferimenti Next e Prev che sono solo una sequenza di massima.

Scorrimento del nodo

Il testo di un nodo può essere più lungo delle righe a disposizione sullo schermo o nella finestra. Per scorrere il testo si utilizza la barra spaziatrice per avanzare e il tasto [Canc] per indietreggiare. È però necessario fare attenzione: se si eccede si prosegue su altri nodi, attraverso un percorso predefinito che solitamente non coincide con i riferimenti Next e Prev già visti.


Comando Descrizione
Spazio Scorre in avanti.
Canc Scorre all'indietro.
b Visualizza l'inizio del nodo.
Elenco dei comandi per lo scorrimento naturale del documento.

Selezione dei riferimenti

L'utilità di un ipertesto sta nella possibilità di raggiungere le informazioni desiderate seguendo un percorso non sequenziale. I documenti info utilizzano due tipi di riferimenti (oltre a quelli standard): i menu e i riferimenti incrociati. I primi si distinguono perché sono evidenziati dalla sigla * Menu: seguita da un elenco di riferimenti; sono cioè staccati dal testo normale. I riferimenti incrociati appaiono invece all'interno del testo normale e sono evidenziati dalla sigla * Note Cross:.

Le voci di menu possono essere selezionate attraverso il comando m seguito dal nome del nodo; le voci dei riferimenti incrociati possono essere selezionate attraverso il comando f seguite dal nome del nodo.

L'utilità di avere due comandi diversi sta nel fatto che questi nomi possono essere indicati in forma abbreviata (per troncamento), indicando solo quello che serve per distinguerli dagli altri. Distinguendo i riferimenti raggruppati in menu, rispetto a quelli che appaiono nel testo, si riducono le possibilità di equivoci.


Comando Descrizione
m <nodo> Richiama un nodo tra quelli indicati nel menu.
f <nodo> Richiama un nodo tra quelli indicati nei riferimenti incrociati.
g <nodo> Richiama un nodo qualunque.
Tab Sposta il cursore sul prossimo riferimento disponibile.
Invio Seleziona il nodo corrispondente al riferimento su cui si trova il cursore.
Elenco dei comandi per la selezione dei riferimenti.

Per facilitare la selezione dei riferimenti che appaiono nel testo di un nodo (menu inclusi), si può utilizzare il tasto [Tab] per posizionare il cursore all'inizio della prossima voce e il tasto [Invio] per selezionare il nodo a cui fa riferimento la voce su cui si trova il cursore.

Se si conosce esattamente il nome di un nodo che si vuole raggiungere, si può utilizzare il comando g seguito dal nome del nodo stesso.

Quando si naviga all'interno della documentazione info è sempre bene tenere a mente il comando l che permette di ritornare al nodo precedentemente attraversato.

Altri comandi

s <stringa>

Permette di cercare all'interno del file info la stringa indicata.

[Alt+x] print-node

Invia il nodo visualizzato sullo schermo alla stampa.

11.4 Documentazione allegata ai pacchetti

I pacchetti di programmi più importanti sono accompagnati da documentazione scritta in vario modo (testo, Latex, Tex, SGML, PostScript, ...). Questa si trova normalmente collocata in sottodirectory discendenti da /usr/doc/.

11.5 HOWTO

I documenti ``HOWTO'' non accompagnano i pacchetti di programmi come loro parte integrante, essendo delle guide aggiuntive con scopi che vanno aldilà della semplice documentazione del funzionamento di un solo particolare pacchetto. La maggior parte delle distribuzioni Linux include anche i file di documentazione HOWTO. Solitamente, questi vengono installati al di sotto della directory /usr/doc/HOWTO/.

11.6 FAQ

Un'altra fonte di documentazione su Linux sono le cosiddette ``FAQ'' o Frequently Asked Questions. Si tratta di informazioni disordinate in forma di ``botta e risposta''. Solitamente si trovano al di sotto della directory /usr/doc/FAQ/

11.7 LDP

A fianco della documentazione standard fornita più o meno con tutte le distribuzioni Linux, ci sono dei libri veri e propri disponibili liberamente. Questi sono raccolti all'interno del LDP, o Linux Documentation Project.

Questi documenti, normalmente disponibili sia in PostScript che in HTML, sono raggiungibili a partire dall'indirizzo seguente

ftp://sunsite.unc.edu/pub/Linux/docs/LDP/

e dai mirror relativi.

11.8 Altra documentazione

Oltre alla documentazione citata nelle sezioni precedenti, esistono altri documenti che possono essere ritrovati a partire dall'indirizzo seguente

ftp://sunsite.unc.edu/pub/Linux/docs/

e dai mirror relativi.

Inoltre, la documentazione in italiano è consistente e può essere ottenuta dagli FTP dei vari gruppi italiani che si occupano di Linux. In particolare: ftp://ftp.pluto.linux.it.

 

1997.10.26 - Scritto da Daniele Giacomini   daniele@calion.com   (vedi copyright: Appunti Linux).


Capitolo successivo Capitolo precedente Indice