Gentoo Logo

Gentoo Man Leitfaden

Inhalt:

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
(Die Ausgabe wurde geringfügig verändert, um sie an dieses Dokument anzupassen)
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.



Drucken

Seite aktualisiert 18. Juni 2006

Die Originalversion dieser Übersetzung wird nicht länger gepflegt

Zusammenfassung: Dieser Leitfaden zeigt, wie man mittels man durch Manpages navigiert.

Chris White
Autor

Sebastian Mair
Übersetzer

Tobias Heinlein
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.