Unix bietet ein Online-Handbuchsystem an, das aus einzelnen Seiten besteht, die jedes Programm für sich selbst mitbringen kann. Diese Seiten sind logisch in verschiedene Kapitel (Sektionen) aufgeteilt, deren Nummern bei Verweisen auf Handbuchseiten immer in runden Klammern nach dem Befehlsnamen steht. So bedeutet etwa cp(1) die Handbuchseite aus der Sektion 1 des Befehls cp.
Standardmäßig werden die folgenden Handbuchsektionen unterstützt:
1 | Benutzerkommandos (User Commands) |
---|---|
2 | Systemaufrufe (System Calls) |
3 | C-Bibliotheksfunktionen (Subroutines) |
4 | Gerätedateien (Devices) |
5 | Dateiformate (File Formats) |
6 | Spiele (Games) |
7 | Verschiedenes (Miscellaneous) |
8 | Kommandos für die Systemverwaltung (Sys. Administration) |
9 | Kernelroutinen (Kernel) |
n | Neue Handbuchseiten (New) |
l | Lokale Besonderheiten (Locale) |
o | Alte Handbuchseiten (Old) |
Es sind nicht immer zwangsläufig alle Sektionen auch vorhanden, l und o sind eher selten, auch die Sektion 9 ist eigentlich nur für Kernelhacker interessant und daher oft leer.
Das Manual-Sytem beruht darauf, dass in bestimmten Verzeichnissen, die in der Shellvariable MANPATH aufgezählt sind, die Dateien mit den Handbuchseiten liegen. Sie sind innerhalb der in $MANPATH aufgezählten Verzeichnisse nochmal in Unterverzeichnissen, die den Handbuchsektionen entsprechen unterteilt sind. Diese Unterverzeichnisse tragen den Namen man1, man2, man3, …, mann, mano, manl
Die einzelnen Dateien beinhalten nicht den formatierten ASCII Text der Handbuchseite, sondern einen Quelltext für das groff-Textformatiersystem. Damit ist gewährleistet, dass die verschiedenen Handbuchprogramme, die diese Seiten darstellen wollen, das jeweils führ ihre Darstellungsform optimale Ausgabeformat erhalten. So können die Seiten auf graphischen Systemen korrekt dargestellt werden, mit verschiedenen Schriften oder Darstellungsattributen, während sie auf textbasierten Systemen einfacher, aber eben auch korrekt formatiert dargestellt werden.
Das Standard-Programm, das Handbuchseiten anzeigt ist man. Dieses Programm ist für die Ausgabe auf Textbildschirmen gedacht, für die graphische Ausgabe von Handbuchseiten gibt es verschiedene Programme, wie etwa xman, tkman o.ä.
Neben der Anzeige der normalen Handbuchseiten gibt es noch zwei weitere Möglichkeiten, kurze Informationen zu Programmen zu erhalten. Das Handbuchsystem unterhält eine kleine Datenbank, die die Titelzeile jeder Handbuchseite abspeichert. Titelzeilen enthalten immer den Namen des Programms und eine ganz kurze, meist einzeilige Beschreibung was das Programm tut.
Diese kleine Datenbank wird whatis-Datenbank genannt. Sie wird durch den Befehl makewhatis erstellt, der entweder regelmäßig aufgerufen wird oder typischerweise jedesmal, nach einer Installation eines neuen Programms.
Es gibt jetzt die Programme whatis und apropos, die diese Datenbank nach Suchbegriffen durchsuchen und die Ergebnisse auf die Standard-Ausgabe ausgeben. Der Unterschied zwischen whatis und apropos ist der, dass whatis nur die erste Spalte der Beschreibungszeilen durchsucht, in der der Programmname steht, apropos durchsucht die ganze Zeile.
Weiß man jetzt zum Beispiel den Namen eines Programms und weiß aber nicht, was dieses Programm tut, so reicht ein Aufruf von whatis Programmname um die Beschreibungszeile zu lesen, in der ja genau steht, was das Programm tut. So bringt der Aufruf von
whatis cp
die Ausgabe
cp (1) - (copy) kopiert eine oder mehrere Dateien cp (1) - copy files
Wenn wir aber nicht mehr wissen, mit welchem Programm kopiert wird, so bringt uns der Befehl apropos weiter. Schreiben wir:
apropos copy
so bekommen wir ja alle Zeilen, in denen das Wort copy steht, zum Beispiel:
cp (1) - (copy) kopiert eine oder mehrere Dateien fcopy (n) - Copy data from one channel to another. bcopy (3) - copy byte strings copysign (3) - copy sign of a number cp (1) - copy files cpio (1) - copy files to and from archives ...
Jetzt können wir uns aus der Ausgabe den Befehl aussuchen, der am Besten dem entspricht, was wir gesucht haben…
Hallo lieber Autor,
beim Ausprobieren der links im Kurstext ist mir aufgefallen das „apropos“ zu einem anderen Ziel führt : nicht die Anwendungsbeschreibung von „apropos“, sondern zu „Anrufbeantworter unter Linux …“. Wahrscheinlich war das nicht so gewollt.
Danke für die Info. Fehler ist gefixt!