Gentoo Man Leitfaden
1.
Einführung
Das Programm man
Jeder hat es früher oder später schon einmal in seiner Linux-Laufbahn benutzt:
Den Befehl man. Während dieses Programm selbst eher simpel erscheint, hat
es dennoch einige Funktionen mehr, als nur ein einfaches Scrollen der Seite.
Durch dieses Dokument wird versucht, Licht in die Dunkelheit des Spektrums
dieser Möglichkeiten zu bringen.
Man Layout
Manpages sind hauptsächlich im Verzeichnis /usr/share/man
gespeichert. Eine Manpage ist aufrufbar, solange sich diese in einem Verzeichnis
befindet, welches in der Umgebungsvariable MANPATH gesetzt ist. Bei
Gentoo wird diese Variable in /etc/env.d/ gesetzt. In diesen
Verzeichnissen sind einige extra Ordner mit der Struktur manX, wobei das X für
die Abschnittsnummer steht. Das standardmäßige man Layout sieht folgendermaßen
aus:
Befehlsauflistung 1.1: Standard man Struktur |
$ ls /usr/share/man | grep man
man0p
man1
man1p
man2
man3
man3p
man4
man5
man6
man7
man8
man9
mann
|
Die eigentliche Nummerierung scheint ziemlich gewöhnlich zu sein. Beachten Sie,
dass es einen mann und einige man#p Ordner gibt. Die
folgende Tabelle beinhaltet die man Verzeichnisse und deren Inhalt:
| man Verzeichnis |
Beschreibung |
| man0p |
Das p steht hier, genauso wie bei allen anderen Verzeichnissen,
welche ein p im Namen enthalten, für POSIX. Manpages in diesem Ordner
beschreiben die Funktionalität verschiedener POSIX Headerdateien.
|
| man1 |
Dieser Abschnitt ist für Standardbefehle. Die meisten Programme werden hier
ihre Manpages ablegen, deshalb ist dieser Ordner der wahrscheinlich Größte.
|
| man1p |
Dieser Abschnitt beinhaltet die POSIX-Versionen jener Befehle, welche in
man1 bereits beschrieben wurden. Da hier nur grundlegende Kommandos
enthalten sind, ist dieser Abschnitt um einiges kleiner als man1.
|
| man2 |
In diesem Abschnitt werden die Linux Kernel Systemcalls erläutert. |
| man3 |
In diesem Abschnitt wird die Standard C Library beschrieben. |
| man4 |
In diesem Abschnitt werden Geräte und Spezialdateien beschrieben. Neben den
Geräten, welche der Kernel bereitstellt, findet man hier auch jene von
Xorg-X11.
|
| man5 |
In diesem Abschnitt werden bestimmte Dateien und Dateien, welche Programme
nutzen, beschrieben. Jene von euch, welche dieses Dokument lesen, sind
vermutlich mit Verweisen auf man 5 portage vertraut und wissen, dass
damit die Beschreibung der Dateistruktur von portage angezeigt wird.
Das gleiche gilt für man 5 make.conf. Hier wird die Datei
make.conf erläutert.
|
| man6 |
In diesem Abschnitt werden Spiele und andere Spielzeuge beschrieben. |
| man7 |
In diesem Abschnitt werden weitere Standards und andere verschiedene Dinge
erläutert. Diese Standards können Zeichensätze, SQL-Anweisungen,
ISO-Standards oder reguläre Ausdrücke beinhalten.
|
| man8 |
In diesem Abschnitt werden administrative Befehle, welche normalerweise nur
vom Benutzer root genutzt werden, beschrieben.
|
| man9 |
Dieser Abschnitt fällt, im Gegensatz zu den anderen, etwas dürftig aus. In
ihm befindet sich die Dokumentation verschiedener Teile des Kernels.
|
| mann |
In diesem Abschnitt befinden sich hauptsächlich Beschreibungen bezüglich
Tcl/Tk. Das n steht hier für neu.
|
Diese Auflistung ist weder umfangreich, noch geht sie ins Detail; dennoch
enthält sie alle Manpages, die die meisten Leute interessieren wird. Es genügt
ein Blick auf diese Tabelle, um grob zu erfahren welcher Abschnitt was enthält.
Im nächsten Kapitel wird erläutert, wie man benutzt wird, um dieses Layout zu
durchlaufen.
2.
Mit dem man Layout arbeiten
Durch das man Layout stöbern
Nun, nachdem wir das man Layout verstanden haben, können wir beginnen einen
Blick auf die Befehle zu werfen. Manchmal müssen wir uns festlegen, welche Art
von Manpage wir benötigen. Der erste Schritt dazu wäre das Heraussuchen des
Abschnitts. Um eine Beschreibung der Abschnitte zu erhalten, können wir man
section intro verwenden:
Befehlsauflistung 2.1: Verwendung von man intro, um eine Beschreibung eines Abschnitts zu erhalten |
$ man 3 intro
INTRO(3) Linux Programmer's Manual INTRO(3)
NAME
intro - Introduction to library functions
DESCRIPTION
This chapter describes all library functions excluding the library
functions described in chapter 2, which implement system calls.
There are various function groups which can be identified by a
letter which is appended to the chapter number:
....
|
Leider funktioniert dies nicht immer. Glücklicherweise gibt es einen anderen
Weg, welcher nach der Suche nach einem Kommando mehrere Resultate liefert, denn
Bibliotheksaufrufe und Systembefehle können den selben Namen tragen. Verwenden
Sie zum Suchen den Parameter -K:
Befehlsauflistung 2.2: Suchen nach einer Zeichenkette mittels -K |
$ man -K sleep
/usr/share/man/man0p/time.h.0p.gz? [ynq] n
/usr/share/man/man0p/unistd.h.0p.gz? [ynq] n
/usr/share/man/man2/alarm.2.gz? [ynq] n
/usr/share/man/man2/pause.2.gz? [ynq] n
/usr/share/man/man2/futex.2.gz? [ynq] n
/usr/share/man/man2/nanosleep.2.gz? [ynq] y
/usr/share/man/man2/semop.2.gz? [ynq] q
|
Manchmal ist die Ausgabe etwas länger. Eine genauere Angabe der Suchbegriffe ist
dann empfehlenswert. Da wir nun wissen, wie wir eine Manpage finden können,
widmen wir uns im nächsten Kapitel der Betrachtung.
Eine Manpage betrachten
Das Betrachten kann auf zwei verschiedene Arten erfolgen. Entweder mit
man [Manpage-Name], oder mit man [Sektion] [Manpage-Name].
Nehmen wir bc als Beispiel. Nach Aufruf von bc wird jene aus dem
ersten Abschnitt dargestellt, weil dieser der niedrigste Abschnitt ist, welcher
bc enthält:
Befehlsauflistung 2.3: Betrachten einer Standard-Manpage |
$ man bc
bc(1) bc(1)
NAME
bc - An arbitrary precision calculator language
...
|
Wollen wir stattdessen die POSIX-Version der Seite sehen, verwenden wir
die zweite Möglichkeit:
Befehlsauflistung 2.4: Betrachten einer spezifischen Seite mit Angabe des Abschnitts |
$ man 1p bc
BC(P) POSIX Programmer's Manual BC(P)
NAME
bc - arbitrary-precision arithmetic language
...
|
Da wir uns nun auch die POSIX-Version anzeigen lassen können, wird es Zeit mit
man zu arbeiten. Die Navigation und das Suchen wird im folgenden Kapitel näher
erläutert.
Die Navigation und das Suchen von Manpages
Die Navigation ist recht einfach. Um eine Zeile aufwärts bzw. abwärts zu gehen,
verwendet man die Pfeiltasten auf und ab. Um eine ganze Seite zu blättern,
benutzt man die Bild-Auf bzw. die Bild-Ab Taste. Beachten Sie, dass für diese
Art der Navigation die Umgebungsvariable PAGER auf den Standardpager
less gesetzt sein muss. Less kennt noch einige zusätzliche Befehle um zu
navigieren, doch die Pfeiltasten sollten normalerweise ausreichen:
Befehlsauflistung 2.5: Zusätzliche Navigationsbefehle von less |
e ^E j ^N CR * Eine Zeile abwärts (oder N Zeilen).
y ^Y k ^K ^P * Eine Zeile aufwärts (oder N Zeilen).
f ^F ^V SPACE * Eine Seite abwärts (oder N Seiten).
b ^B ESC-v * Eine Seite aufwärts (oder N Seiten).
z * Eine Seite abwärts (und setze die Seite auf N).
w * Eine Seite aufwärts (und setze die Seite auf N).
ESC-SPACE * Eine Seite abwärts, ohne Anhalten bei Erreichen von EOF.
d ^D * Eine halbe Seite abwärts (und setze die halbe Seite auf N).
u ^U * Eine halbe Seite aufwärts (und setze die halbe Seite auf N).
ESC-) RightArrow * Die Seite nach links verschieben (oder N Positionen).
ESC-( LeftArrow * Die Seite nach rechts verschieben (oder N Positionen).
F Stetig abwärts; entspricht "tail -f".
|
Das Suchen ist allerdings um einiges interessanter. Die zwei grundlegenden
Suchmethoden sind /Muster und ?Muster. Die erste Methode sucht
vorwärts, die zweite rückwärts. Muster ist ein regulärer Ausdruck, wie in
man 7 regex beschrieben. Nun wollen wir einmal nach der Option -D
von emerge suchen. Dazu öffnen wir zunächst die emerge Manpage:
Befehlsauflistung 2.6: Öffnen der emerge Manpage |
$ man emerge
|
Auf diesem Bildschirm drücken wir dann /, um die Eingabezeile für eine
Vorwärtssuche zu öffnen und geben dann unser Suchmuster ein:
Befehlsauflistung 2.7: Öffnen der Sucheingabe |
gracefully handles updating installed packages to newer releases as well.
It handles both source and binary packages, and it can be used to create
binary packages for distribution.
EBUILDS, TBZ2S, CLASSES AND DEPENDENCIES
/\-D
|
Notiz:
Beachten Sie, dass der Bindestrich - mit einem umgekehrten Schrägstrich
\ maskiert werden muss, da er normalerweise als ein Teil des regulären
Ausdrucks benutzt wird.
|
Dies wird die Manpage durchsuchen und das Suchmuster hervorheben:
Befehlsauflistung 2.8: Resultat der Vorwärtssuche |
--deep (-D)
When used in conjunction with --update, this flag forces emerge to consider the entire
dependency tree of packages, instead of checking only the immediate dependencies of
the packages. As an example, this catches updates in libraries that are not directly
listed in the dependencies of a package.
|
Sollten wir einen Treffer gelandet haben und die Suche fortsetzen wollen,
drücken wir einfach /, gefolgt von der Enter-Taste. Das heißt, dass das
Suchmuster nicht noch einmal angegeben werden muss und das vorherige Muster
erneut gesucht wird. Auf einigen Manpages sind Optionen gelistet, welche aber
erst später erläutert werden. Nehmen wir die man 5 portage Manpage. Hier
werden die verwendeten Dateien aufgelistet und erklärt. Wenn man nun ein paar
mal die Vorwärtssuche anwendet, würde man das erwartete Resultat zwar bekommen,
doch es gibt einen viel einfacheren Weg dies zu tun; und zwar die
Rückwärtssuche. Nutzen wir sie also um die Beschreibung für
package.unmask zu finden. Dazu öffnen wir zunächst mittels
man 5 portage die Manpage:
Befehlsauflistung 2.9: Öffnen der portage Manpage |
$ man 5 portage
|
Drücken Sie nun SHIFT+g. Dies wird Sie zum Ende der Seite befördern.
Befehlsauflistung 2.10: Ende der Manpage nach Drücken von SHIFT+g |
SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51 Jan 2004 PORTAGE(5)
lines 418-442/442 (END)
|
Nun starten wir die Rückwärtssuche mit Hilfe von ?Muster. Drücken Sie
zunächst die Taste ? um die Eingabezeile aufzurufen. Anschließend geben
Sie package.unmask ein:
Befehlsauflistung 2.11: Spezifizieren der Suche |
SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51 Jan 2004 PORTAGE(5)
?package.unmask
|
Drücken Sie dann Enter, um folgendes Resultat zu erhalten:
Befehlsauflistung 2.12: Das Suchresultat |
package.unmask
Just like package.mask above, except here you list packages you want to unmask.
Useful for overriding the global package.mask file (see below). Note that
this does not override packages that are masked via KEYWORDS.
...
|
Damit wäre die Suche abgeschlossen. Beachten Sie, dass bei bloßer Verwendung von
?, ebenso wie bei /, die Suche nach dem zuletzt eingegebenen
Suchmuster fortgesetzt wird.
Fazit
Dies schließt den man Leitfaden ab. Er hat hoffentlich die Benutzung von
Manpages klarer gemacht und eventuell sogar dem ein oder anderen erfahreren
Benutzer ein paar nützliche Tipps beschert. Für alljene, welche Alternativen zum
Betrachten von Manpages bevorzugen, stehen folgende Programme zur Verfügung:
- app-text/man2html - Ein Programm um Manpages zu html zu konvertieren
- app-text/tkman - Ein tk-basierter Betrachter für Manpages
Auch der KDE Web-Browser Konqueror kann mittels vorangestelltem
man: in der Addresszeile Manpages darstellen.
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|