2.7 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 alltäglichen Situationen wird man gern einmal auf Befehlsreferenzen zurückgreifen.
2.7.1 Die Manpages
Eine solche Befehlsreferenz finden Sie einerseits natürlich am Ende dieses Buches, andererseits aber auch in den Manpages.
Die Manpages sind dabei das traditionellste 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 solche 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 Suchbegriff und »n« zum Aufrufen der nächsten Fundstelle.
$ man ls
Listing 2.18 Aufrufen der Manpage für ls
Manpages beinhalten 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 nun mehr als ein Hilfethema und somit auch mehr als eine Manpage. Ein gutes Beispiel dafür ist 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:
1. | Ausführbare Programme oder Shell-Befehle |
2. | Systemaufrufe (Kernel-Funktionen) |
3. | Bibliotheksaufrufe (Funktionen in System-Bibliotheken) |
4. | Spezielle Dateien (gewöhnlich in /dev) |
5. | Dateiformate und Konventionen, z. B. /etc/passwd |
6. | Spiele |
7. | Makropakete und Konventionen, z. B. man(7), groff(7) |
8. | Systemadministrationsbefehle (in der Regel nur für root) |
9. | Kernel-Routinen (Linux-spezifisch) |
Die Sektionen sind dabei 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 nun explizit auf eine Seite innerhalb einer Sektion zugreifen, so gibt man beim Aufruf von man einfach die Sektionsnummer des eigentlichen Hilfethemas an:
$ man 1 write $ man 2 write
Listing 2.19 Unterschiedliche Man-Sektionen
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.
whatis
Das kleine Programm whatis hilft uns nun, alle Sektionen zu einem bestimmten Thema herauszufinden. Das Tool ist dabei nur ein Frontend für den Aufruf von man mit dem Parameter »-f«:
$ 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
Listing 2.20 whatis
Angezeigt werden also der Titel der Manpage, die Sektionsnummer sowie eine kurze Beschreibung des Inhalts der Seite.
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:
$ apropos write … kwrite (1) – KDE text editor llseek (2) – reposition read/write file offset login (3) – write utmp and wtmp entries …
Listing 2.21 apropos
Hier werden nämlich 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.
2.7.2 GNU info
GNU is Not Unix
Ähnlich wie man funktioniert 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.
2.7.3 Die Programmdokumentation
Solche Man- 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 auf den Manpages kann man auch oft durch die Angabe des »-h«- oder »--help«-Parameters erhalten. Ansonsten hilft natürlich 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, wobei bei Linux-Fragen im Allgemeinen oft auch diverse Mailinglisten und Newsgroups recht hilfreich sind. Ansonsten hilft natürlich auch immer die Suchmaschine Ihrer Wahl, gefüttert mit passenden Suchbegriffen.