Czytanie stron info
1.
Wstęp
Czym jest info?
Prawdopodobnie wielu z nas jest bardzo dobrze zaznajomionych z obsługą
dokumentacji man. Mimo, iż jest to dobre narzędzie do szybkiego
poszukiwania informacji, problemy pojawiają się, jeżeli chcemy połączyć kilka
takich stron. Wtedy z pomocą przychodzi nam info. Strony info są
wykonywane przy pomocy narzędzi texinfo, co pozwala na łączenie różnych
stron, tworzenie menu oraz ogólnie mówiąc łatwą nawigację. Następna cześć tego
tekstu opisuje układ dokumentu info.
Wygląd strony info
Strony info są przechowywane w /usr/share/info. W przeciwieństwie
do układu folderów z dokumentacją "man", /usr/share/info zawiera
znacznie więcej plików, w takim oto formacie:
Listing 1.1: format pliku info |
nazwastrony.info[-węzeł].gz
|
nazwastrony jest rzeczywistą nazwą strony (np. wget).
[-node] to opcjonalny numer opisujący miejsce strony w hierarchii
dokumentów info. Aby zaoszczędzić nieco miejsca, pliki info są spakowane przy
użyciu programu gzip. Dodatkowe strony info mogą zostać dodane poprzez
modyfikację zmiennej INFOPATH (zwykle ustawianą w którymś z plików w
/etc/env.d/). Na dobry początek można przejrzeć plik
/usr/share/info/dir. Ten specjalny plik jest używany, gdy info
jest uruchamiane bez parametrów. Zawiera on listę wszystkich stron info
dostępnych do przeglądnięcia dla użytkownika. Aby lepiej przyjrzeć się
nawigacji w info, należy urchomić info bez żadnych argumentów:
Listing 1.2: Uruchamianie info |
$ info
|
W następnym rozdziale przedstawimy podstawy poruszania się w info.
2.
Praca ze stronami info
Praca z menu
Teraz, gdy info jest już uruchomione powinniśmy ujrzeć coś w tym stylu:
Listing 2.1: Przykładowy zrzut ekrany 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.
|
Znajduje się tu klika wpisów poprzedzonych gwiazdką. Są to elementy menu,
służące do nawigacji pomiędzy różnymi poziomami dokumentu. Istnieją dwa sposoby
poruszania się po menu. Póki co zajmiemy się tylko pierwszym z nich. Spójrzmy
najpierw na stronę info wget. Aby to zrobić należy - używając strzałki w
dół - dotrzeć do wpisu poniżej podświetlonego na niebiesko.
Listing 2.2: Przemieszczanie się po stronie info dla 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.
|
Aby wybrać jakąś pozycję z menu, należy wcisnąć klawisz ENTER. W tym
przypadku ujrzymy stronę info programu wget:
Listing 2.3: Strona info programu 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.
|
Teraz, skoro znamy już podstawy, skupimy się na poruszaniu w info
Podstawowa nawigacja
Strona, którą mamy przed oczami możemy nazwać spisem treści, ponieważ została
pomyślana właśnie w taki sposób. Jest klika różnych metod poruszania się po
niej oraz jej podstronach. Pierwszą z nich jest standardowa, czyli przesuwanie w
dół klawiszem SPACE oraz w górę używając BACKSPACE lub
DELETE. Jest to polecane rozwiązanie, szczególnie iż potrafi
automatycznie przechodzić/powracać do odpowiedniego węzła w dokumencie. Pozwala
to na coś w stylu liniowego przeglądania, na wzór tego użytego w stronach
man. Kolejnym sposobem jest użycie klawiszy PAGE UP/PAGE DOWN, ale w
tym wypadku nie możemy liczyć na automatyczne przechodzenie, jak w przypadku
SPACE/BACKSPACE/DELETE. Jeżeli jednak chcemy opuścić pewne węzły bez
używania SPACE/BACKSPACE/DELETE możemy również użyć klawiszy [
(zaawansowane cofanie) i ] (zaawansowane przechodzenie).
Jak zostało wcześniej wspomniane, są dwa sposoby poruszania się po menu. W tym
miejscu zostanie opisany drugi z nich. Klawisze z numerami 1-9 mogą być
użyte do szybkiego wybrania wpisów z numerami od pierwszego do dziewiątego. Dla
przykładu, jeżeli wciśniemy 3 naszym oczom ukaże się zawartość rozdziału
Recursive Download:
Listing 2.4: Zawartość 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".
|
W tym miejscu dobrze byłoby wspomnieć o kilku rzeczach. Po pierwsze należy
powiedzieć kilka słów na temat górnej sekcji nagłówkowej. Nagłówek ten pokazuje
informacje na temat położenia pojedynczego ekranu. Aby dostać się do strony
wypisanej przy Next: należy wcisnąć n, natomiast do strony
oznaczonej Prev: klawisz p. Należy jednak pamiętać, że działa to
tylko jeżeli mówimy o węzłach tego samego poziomu. Nadużywanie opcji może
prowadzić do przeniesienia do zupełnie niezwiązanej z tematem poszukiwań
treści. Lepiej użyć SPACE/BACKSPACE/DELETE/[/], aby przeglądać "liniowo".
Jeżeli z jakiegoś powodu się zgubimy, jest kilka sposobów, aby się wydostać. Po
pierwsze klawisz t. Wciśnięcie go oznacza natychmiastowe przeskoczenie do
najwyższego poziomu (spisu treści). Jeżeli chcemy obejrzeć stronę, którą
ostatnio przeglądaliśmy możemy tego dokonać wciskając klawisz l. Chcemy
przejść o jeden poziom w górę? Żaden problem, wystarczy wcisnąć klawisz
u. Skoro umiemy już poruszać się po stronach info, w następnym roździale
omówimy jak je przeszukiwać.
3.
Przeszukiwanie info
Poruszanie się po innych stronach info
Teraz kiedy potrafimy poruszać się po pojedynczej stronie info, należałoby
nauczyć się w jaki sposób poruszać się po ich zbiorze. Jednym ze sposobów na
zrobienie tego jest wybranie danej strony ze spisu treści. Aby od razu przejść
do spisu treści należy wcisnąć klawisz d. Z tego miejsca możemy
rozpocząć szukanie potrzebnej strony. Jednakże, jeżeli wiemy na jakiej stronie
aktualnie się znajdujemy, możemy użyć klawisza g (Idź do węzła). Aby
dostać się do potrzebnej strony mając tylko jej nazwę, należy wcisnąć g
w celu przywołania znaku zachęty oraz wpisać żądaną nazwę w nawiasach
okrągłych:
Listing 3.1: Szukanie strony info za pomocą jej nazwy |
* 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)
|
Wynikiem tego będzie ukazanie się strony libc:
Listing 3.2: Wynik polecenia 'Idź do węzła' |
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.
|
Skoro wiemy już, w jaki sposób wyszukiwać strony info po nazwie, możemy śmiało
przejść do przeszukiwania fragmentów informacji używając indeksu stron info.
Szukanie z użyciem indeksu
W tym przykładzie zobaczymy w jaki sposób znaleźć funkcję printf będącą
częścią biblioteki libc, której indeks wykorzystamy. Powinniśmy być
teraz na stronie libc, do której dostaliśmy się w poprzednim rozdziale. Jeżeli
nie, należy użyć polecenia "Idź do węzła", aby tego dokonać. Aby móc szukać z
użyciem indeksu, po pierwsze trzeba wcisnąć klawisz i, aby przywołać
znak zachęty, a następnie wpisać poszukiwane słowo. Poniżej widzimy to dla
słowa printf:
Listing 3.3: Wpisywanie kryterium wyszukiwania |
* 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
|
Po wciśnięciu klaiwsza enter, zostaniemy zabrani do definicji printf
pochodzącej ze strony libc:
Listing 3.4: Wyniki wyszukiwania z użyciem indeksu |
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
|
Jak widać dobrze poradziliśmy sobie z przeszukiwaniem strony libc z
użyciem indeksu. Jednakże czasami potrzebujemy znaleźć konkretną informację na
pojedynczej stronie, dlatego zajmiemy się tym w następnym rozdziale.
Szukanie z użyciem polecenia "szukaj"
Zaczynając w miejscu, w którym zatrzymaliśmy się ostatnio (Formatted Output
Functions) poszukamy jednej z odmian funkcji printf -
sprintf. Aby rozpocząć szukanie należy wcisnąć klawisz s, w celu
przywołania znaku zachęty, a następnie wpisać słowo/a, które chcemy znaleźć (w
tym przypadku sprintf):
Listing 3.5: Wpisywanie słowa do wyszukiwania |
-- 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
|
Wciśnięcie ENTER pokaże wyniki wyszukiwania:
Listing 3.6: Wyniki wyszukiwania |
-- 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.
|
I w ten sposób znaleźliśmy funkcję, której potrzebowaliśmy.
4.
Zakończenie
Podsumowanie
Poradnik ten miał na celu pokazanie w jaki sposób używać info do oglądania
stron info. Jak zwykle wszelkie komentarze są mile widziane i oczekiwane.
Klikając na moje nazwisko (Chris White) po prawej stronie można w łatwy sposób
wysłać mi email.
Dodatkowe zasoby programu
Dla ludzi, którzy chcieliby w łatwiejszy sposób przeglądać strony info używając
np. bardziej przyjaznego interfejsu graficznego dostępne są poniższe narzędzia:
- app-text/info2html - Konwertuje strony info do formatu HTML
- app-text/pinfo - Przeglądarka info oparta o ncurses
- app-text/tkinfo - Przeglądarka info oparta o tcl/tk
- app-vim/info - Przeglądarka info opart o vim
Przeglądarka z KDE - Konqueror również udostępnia przeglądanie
stron info poprzez protokół info: .
Materiał udostępniany na podstawie licencji Creative Commons -
Attribution / Share Alike.
|