Guida Gentoo alla documentazione GNU Info
1.
Introduzione
Cos'è info?
Sicuramente molti di voi avranno familiare il sistema di documentazione man
. Ma anche se man è ottimo per cercare velocemente qualcosa, esso non ha
una struttura che permette di collegare tra di loro le varie pagine. Ed ecco
qui che entra in gioco info. Le pagine di info sono scritte utilizzando
i tool texinfo e possono essere collegate con altre pagine, si possono
creare menu ed hanno un comodo sistema di navigazione. La prossima sezione
spiegherà dove e come sono collocate le pagine di info.
Struttura dell pagine Info
Le principali pagine di info sono posizionate in /usr/share/info.
A differenza di man, /usr/share/info contiene una estesa quantità
di file. Questi file hanno il seguente formato:
Codice 1.1: Formato file info |
pagename.info[-node].gz
|
pagename è il nome della pagina (per esempio: wget). [-node]
è opzionale e indica il livello del nodo (che solitamente si riferisce a
un documento principale di livello più alto). Per salvare spazio, le pagine di
info vengono compresse utilizzando gzip. Altre pagine di info possono
essere posizionate in directory diverse stabilite nella variabile d'ambiente
INFOPATH (solitamente settata nei vari file in /etc/env.d/
). Inoltre è importante notare il file /usr/share/info/dir,
questo file speciale è usato infatti quando info viene lanciato senza alcun
parametro. Esso contiene una lista di tutte le pagine di info disponibili. Per
iniziare a navigare con info, lo lanceremo senza passargli alcun parametro:
Codice 1.2: Lanciare info |
$ info
|
Nel prossimo capitolo vedremo come fare per navigare nelle pagine di info.
2.
Lavorare con le pagine di info
Navigare con i menù
Dopo aver avviato info, avremo una schermata simile a questa:
Codice 2.1: Esempio di schermata info |
File: dir, Node: Top This is the top of the INFO tree
This (the Directory node) gives a menu of major topics.
Typing "q" exits, "?" lists all Info commands, "d" returns here,
"h" gives a primer for first-timers,
"mEmacs<Return>" visits the Emacs manual, etc.
In Emacs, you can click mouse button 2 on a menu item or cross reference
to select it.
* Menu:
User Interface Toolkit
* GDK: (gdk). The General Drawing Kit
* GTK: (gtk). The GIMP Toolkit
GNU programming tools
* Autoconf v2.1: (autoconf). Create source code configuration scripts.
|
Possiamo sicuramente notare una serie di entry con un asterisco davanti. Queste
entry sono elementi di un menù che serve per navigare tra i diversi nodi. Si
possono selezionare gli elementi di un menù in due modi, il primo lo vedremo
adesso, il secondo invece lo vedremo più tardi. Adesso andiamo quindi dentro
la pagina info di wget. Per fare ciò, usiamo la freccia giù per
raggiungere l'area qui evidenziata in blu:
Codice 2.2: Navigare fino all'entry di wget |
Network Applications
* GnuTLS: (gnutls). Package for Transport Layer Security.
* Wget: (wget). The non-interactive network downloader.
* certtool: (gnutls)Invoking certtool. Manipulate certificates and keys.
* gnutls-cli: (gnutls)Invoking gnutls-cli. GNU TLS test client.
* gnutls-cli-debug: (gnutls)Invoking gnutls-cli-debug. GNU TLS debug client.
* gnutls-serv: (gnutls)Invoking gnutls-serv. GNU TLS test server.
* srptool: (gnutls)Invoking srptool. Simple SRP password tool.
|
Dopo aver raggiunto wget, premiamo ENTER per selezionarlo. In
questo modo abbiamo richiamato la pagina info di wget:
Codice 2.3: La pagina info di wget |
File: wget.info, Node: Top, Next: Overview, Up: (dir)
Wget 1.10.2
***********
This manual documents version 1.10.2 of GNU Wget, the freely available
utility for network downloads.
Copyright (C) 1996-2005 Free Software Foundation, Inc.
* Menu:
* Overview:: Features of Wget.
* Invoking:: Wget command-line arguments.
* Recursive Download:: Downloading interlinked pages.
* Following Links:: The available methods of chasing links.
* Time-Stamping:: Mirroring according to time-stamps.
* Startup File:: Wget's initialization file.
|
Ora abbiamo davanti una pagina info, la prossima sezione spiegherà come
navigare all'interno della pagina.
Navigazione di base
In termini di nodi, questo è considerato il nodo principale della pagina di
wget. Considerate il nodo principale come se fosse l'indice dei contenuti di una
pagina info. Per navigare all'interno della pagina, ci sono diverse possibilità.
Il primo è il metodo standard di info. Ovvero usando il tasto SPACE per
muoversi avanti mentre i tasti BACKSPACE/DELETE per muoversi
all'indietro. Questo è il metodo raccomandato, poichè automaticamente avanza o
retrocede tra i nodi del documento. In questo modo si ha una navigazione molto
linerare simile a quella delle man pages. Un'altra maniera è quella di usare i
tasti PAGE UP/PAGE DOWN. Quest'ultima scelta però non permette di
avanzare automaticamente tra i nodi come fanno SPACE/BACKSPACE/DELETE. Se
si vuole saltare un intero nodo senza usare SPACE/BACKSPACE/DELETE, è
possibile utilizzare il tasto [ (per avanzare) e il tasto ] (per
retrocedere).
Come detto prima, ci sono due metodi per navigare tra i menù. Adesso
descriviamo il secondo. I numeri da uno a nove possono essere utilizzati per
riferirsi alla prima-nona voce del menu di un documenti. In questo modo è
possibile navigare velocemente tra le varie pagine. Per esempio, proviamo ad
usare 3 per raggiungere l'elemento Recursive Download del menù:
Codice 2.4: Schermata Recursive Download |
File: wget.info, Node: Recursive Download, Next: Following Links, Prev: Invoking, Up: Top
3 Recursive Download
********************
GNU Wget is capable of traversing parts of the Web (or a single HTTP or
FTP server), following links and directory structure. We refer to this
as to "recursive retrieval", or "recursion".
|
Ora che siamo nella schermata Recursive Download. Possiamo notare qui
alcune cose. Primo, l'header in alto. L'header mostra alcune informazioni di
navigazione per la schermata che si sta visualizzando. Alla pagina indicata da
Next: è possibile accedere con il tasto n mentre alla pagina
indicata da Prev: con il tasto p. Questa funzione però funziona
solo per le pagine dello stesso livello (per esempio è possibile passare dal
nodo 7 a quello 8, ma non da 7 a 7.1). La navigazione quindi non è molto
lineare, è meglio utilizzare i tasti SPACE/BACKSPACE/DELETE/[/].
Per chi si perde tra le pagine, c'è qualche modo per uscirne. Il primo è il
tasto t. Esso vi porterà direttamente al nodo principale (indice dei
contenuti) della pagina info in cui si sta navigando. Se invece si vuole
tornare all'ultima pagina visitata, basta premere il tasto l. Infine se
si vuole salire di un livello si deve premere il tasto u. Ora abbiamo
già un'idea di come navigare tra le pagine, il prossimo capitolo riguarderà la
ricerca di contenuti.
3.
Ricercare tra le pagine info
Richiamare altre pagine info
Per ora possiamo navigare dentro un pagina info, ma è importante vedere come è
possibile accedere ad altre. Il primo metodo è quello di accedere alle altre
pagine info utilizzando l'indice dir. Per richiamare l'indice
dall'interno di info basta premere il tasto d della tastiera.
Dall'indice poi si possono raggiungere tutte le pagine che si vogliono.
Tuttavia, c'è una via più breve attraverso il comando Goto node (g key).
Per richiamare una pagina di info di cui se ne conosce il nome, è sufficiente
quindi premere la g per far apparire il prompt e inserire il nome della
pagina tra due parentesi:
Codice 3.1: Raggiungere una pagina di info di cui si conosce il nome |
* Startup File:: Wget's initialization file.
* Examples:: Examples of usage.
* Various:: The stuff that doesn't fit anywhere else.
* Appendices:: Some useful references.
* Copying:: You may give out copies of Wget and of this manual.
--zz-Info: (wget.info.gz)Top, 24 lines --Top-------------------------------
Goto node: (libc)
|
In questo modo richiameremo la pagina delle libc come mostrato qui sotto:
Codice 3.2: Risultato del comando Goto node |
File: libc.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
Main Menu
*********
This is Edition 0.10, last updated 2001-07-06, of `The GNU C Library
Reference Manual', for Version 2.3.x of the GNU C Library.
* Menu:
* Introduction:: Purpose of the GNU C Library.
|
Ora, sappiamo come andare in un'altra pagina info conoscendone il nome, la
prossima sezione riguarderà la ricerca di informazioni attraverso l'indice
di una pagina info.
Cercare utilizzando l'indice
In questo esempio vedremo come cercare la funzione printf della libreria
C utilizzando l'indice della pagina info libc. Chi ha seguito la
precedente sezione dovrebbe essere già posizionato nella pagina delle libc, chi
non lo è, può comunque arrivarci utilizzando il comando Goto node. Per
utilizzare la ricerca tramite indice, bisogna prima premere il tasto i
per richiamare il prompt e poi indicare il termine da ricercare. Proviamo
quindi a fare ciò per printf:
Codice 3.3: Inserire una query di ricerca |
* Character Set Handling:: Support for extended character sets.
* Locales:: The country and language can affect the
behavior of library functions.
* Message Translation:: How to make the program speak the user's
language.
--zz-Info: (libc.info.gz)Top, 1291 lines --Top-- Subfile: libc.info-1.gz-----
Index entry: printf
|
Dopo aver inserito la query premiamo il tasto invio e ci verrà mostrata la
definizione della funzione printf:
Codice 3.4: Risultato della query di ricerca |
File: libc.info, Node: Formatted Output Functions, Next: Dynamic Output, Prev: Other Output Conversions, Up: Formatted Output
12.12.7 Formatted Output Functions
----------------------------------
This section describes how to call `printf' and related functions.
Prototypes for these functions are in the header file `stdio.h'.
Because these functions take a variable number of arguments, you _must_
declare prototypes for them before using them. Of course, the easiest
way to make sure you have all the right prototypes is to just include
|
Abbiamo quindi eseguito con successo una query di ricerca all'interno
dell'indice della pagina info di libc. Tuttavia, a volte quello che
vogliamo si trova all'interno della pagina stessa. La prossima sezione
riguarderà l'esecuzione di una ricerca all'interno della pagina.
Ricercare utilizzando il comando search
Partendo dalla precedente schermata dal titolo Formatted Output Functions
, adesso ricercheremo la variante sprintf della funzione printf
. Per eseguire una ricerca, premere il tasto s in modo da richiamare
il prompt e poi inserire la query (sprintf in questo caso):
Codice 3.5: Inserire una query di ricerca |
-- Function: int wprintf (const wchar_t *TEMPLATE, ...)
The `wprintf' function prints the optional arguments under the
control of the wide template string TEMPLATE to the stream
`stdout'. It returns the number of wide characters printed, or a
--zz-Info: (libc.info.gz)Formatted Output Functions, 127 lines --Top-- Subfile: libc.info-3.gz--
Search for string []: sprintf
|
Premiamo il tasto invio e il programma ci mostrerà il risultato
dell'operazione:
Codice 3.6: Risultato della ricerca |
-- Function: int sprintf (char *S, const char *TEMPLATE, ...)
This is like `printf', except that the output is stored in the
character array S instead of written to a stream. A null
character is written to mark the end of the string.
The `sprintf' function returns the number of characters stored in
the array S, not including the terminating null character.
|
Ed ecco la funzione che cercavamo.
4.
Conclusioni
Conclusioni
Con ciò si conclude questa guida sull'utilizzo del programma info per navigare
all'interno delle pagine info. Come sempre i commenti sono benvenuti e
apprezzati. Cliccando nel mio nome (Chris White) sul lato destro della pagina
è possibile inviarmi una email.
Altre risorse
Per semplificare la navigazione all'interno delle pagine di info tramite una
interfaccia grafica più user-friendly, sono disponibili una serie di programmi:
-
app-text/info2html - Converte le pagine di info in pagine HTML navigabili
-
app-text/pinfo - Visualizzatore info basato sulle librerie ncurses
- app-text/tkinfo - Browser info basato sulle tcl/tk
- app-vim/info - Un Browser info basato su vim
Inoltre il browser di KDE, Konqueror, permette di navigare
all'interno delle pagine info tramite l'URI: info://.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|