6.6 Hilfe
Zu guter Letzt fehlt uns für eine komplette Betrachtung des Einstiegs noch die Möglichkeit, Hilfe zu erhalten. Schließlich sind die Optionen und Möglichkeiten vieler Programme so reichhaltig, dass man sie kaum komplett im Kopf behalten kann. Vor allem in nicht ganz alltäglichen Situationen wird man gerne einmal auf Befehlsreferenzen zurückgreifen.
6.6.1 Manpages
Eine solche Befehlsreferenz finden Sie zum einen natürlich am Ende dieses Buches, zum anderen aber auch in den Manpages. Diese sind das traditionelle Hilfesystem für Unix und somit (wie auch nicht anders zu erwarten) in erster Linie über die Shell erreichbar.
Handbuchseiten auf dem PC
Zu fast allen Befehlen und Programmen gibt es eine Handbuchseite (engl. manual page), die aus der Shell heraus mit dem man-Kommando betrachtet werden kann. Das Scrollen funktioniert dabei wie gewohnt, und das Suchen erfolgt wie bei less oder auch beim vi über die /-Taste, gefolgt vom Suchausdruck und Betätigen der Taste N zum Aufrufen der nächsten Fundstelle.
Listing 6.18 Aufrufen der Manpage für ls
$ man ls
Manpages enthalten dabei üblicherweise eine kurze Beschreibung des Programms sowie eine komplette Referenz der verfügbaren Kommandozeilenoptionen. Nur selten findet sich ein ausführlicheres Beispiel in einer Manpage. Und so passt diese Hilfe wieder zur Unix-Philosophie: Erfahrene Nutzer wollen nur kurz die Syntax bestimmter Optionen nachschlagen und sich dafür nicht durch seitenlange Einführungen quälen müssen.
Sections
Unterschiedliche Themenkomplexe
Für manche Stichwörter gibt es mehr als nur ein Hilfethema und somit auch mehr als eine Manpage. Ein gutes Beispiel dafür ist das Programm man selbst: Es gibt zu diesem Thema einmal eine Hilfeseite zur Bedienung des man-Programms und eine Hilfeseite zur Erstellung von Manpages. Damit man Hilfeseiten zu unterschiedlichen Themenkomplexen unterscheiden kann, gibt es unterschiedliche Sections (Abschnitte), in die die Manpages eingeteilt werden:
- ausführbare Programme oder Shell-Befehle
- Systemaufrufe (Kernel-Funktionen)
- Bibliotheksaufrufe (Funktionen in Systembibliotheken)
- spezielle Dateien (gewöhnlich in /dev)
- Dateiformate und Konventionen, z. B. /etc/passwd
- Spiele
- Makropakete und Konventionen, z. B. man(7), groff(7)
- Systemadministrationsbefehle (in der Regel nur für root)
- Kernel-Routinen (linux-spezifisch)
Die Sektionen sind im System als einfache Verzeichnisse realisiert, in denen dann jeweils die Manpages der entsprechenden Sektionen abgelegt sind. Die Manpages selbst sind wiederum nur Dateien in bestimmter Formatierung.
Möchte man explizit auf eine Seite innerhalb einer Sektion zugreifen, so gibt man beim Aufruf von man einfach die Sektionsnummer des eigentlichen Hilfethemas an:
Listing 6.19 Unterschiedliche Man-Sektionen
$ man 1 write
$ man 2 write
[zB]In diesem Beispiel wird zuerst die Manpage für das ausführbare Programm write aus der Sektion 1 und danach die Manpage zum Syscall write() aus der Sektion 2 aufgerufen. Lässt man diese explizite Angabe der Sektionsnummer weg und tippt nur man write, so wird die Manpage aus der niedrigsten Sektion – also in unserem Fall die Manpage aus Sektion 1 zum Programm write – angezeigt. Um die Verwirrung zu reduzieren, wird für den Bezug auf eine bestimmte Sektion diese in Klammern nach dem Befehl angegeben, also beispielsweise write(2).
whatis
Das kleine Programm whatis hilft uns nun, alle Sektionen zu einem bestimmten Thema herauszufinden. Das Tool ist dabei lediglich ein Frontend für den Aufruf von man mit dem Parameter -f:
Listing 6.20 whatis
$ whatis write
write (1) – send a message to another user
write (2) – write to a file descriptor
$ man -f write
write (1) – send a message to another user
write (2) – write to a file descriptor
Angezeigt werden also der Titel der Manpage, die Sektionsnummer sowie eine kurze Beschreibung des Seiteninhalts.
apropos
Suchbegriff angeben
Eine etwas weiter gefasste Suche ermöglicht das Tool apropos, das wiederum nur Frontend für man mit der Option -k ist:
Listing 6.21 apropos
$ apropos write
...
kwrite (1) – KDE text editor
llseek (2) – reposition read/write file offset
login (3) – write utmp and wtmp entries
...
Hier werden alle Manpages angezeigt, bei denen im Namen der Seite oder in der Kurzbeschreibung auf das Suchwort Bezug genommen wird. Beide Tools – whatis und apropos – ergänzen somit das Manpage-Hilfesystem von Unix.
6.6.2 GNU info
GNU is Not Unix
Ähnlich wie man funktioniert das Programm info der GNU-Community. Die Bedienung ist etwas anders, aber eigentlich auch recht intuitiv. Der Grund für ein eigenes Hilfesystem dieser Open-Source-Gruppe liegt in der Abkürzung GNU selbst: GNU is Not Unix. Mit info sollte ein eigenes Hilfesystem für ein komplett freies GNU-basiertes Betriebssystem geschaffen werden. Mittlerweile spricht man teilweise von GNU/Linux, um auszudrücken, dass Linux zwar den Systemkern, aber GNU die wichtigsten grundlegenden Systemtools zur Verfügung stellt. Aber natürlich gibt es alle GNU-Infoseiten auch als Manpages.
6.6.3 Programmdokumentation
Solche Manual- oder Infoseiten sind natürlich meist ein zentraler Bestandteil der Dokumentation von Softwarepaketen. Außerdem werden oft sogenannte README-Dateien nach /usr/doc oder /usr/share/doc installiert, die noch einmal im Detail Auskunft über spezielle Funktionen und Aspekte der Bedienung geben.
Eine Auflistung aller verfügbaren Optionen und damit eine ähnliche Ausgabe wie in den Manpages kann man oft durch die Angabe der Parameter --help oder -h auf der Kommandozeile erhalten. Ansonsten hilft meistens auch die Homepage weiter, die man bei Open-Source-Software eigentlich immer über eine der folgenden Seiten findet:
- SourceForge: http://www.sourceforge.net
- Freshmeat: http://www.freshmeat.net
Alternativ gibt es für jede Distribution auch noch zahlreiche Foren auf den entsprechenden Internetseiten. Bei Linux-Fragen sind oft diverse Mailinglisten und Newsgroups recht hilfreich. Ansonsten hilft natürlich auch immer die Suchmaschine Ihrer Wahl, gefüttert mit passenden Suchbegriffen.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.