Dieser Beitrag stammt von http://www.linux-magazin.de
Zu BefehlViel zu lesenvon Heike Jurzik |
Da sitzt man nun vor dem Computer, so richtig fit fühlt man sich nach der Installationsorgie auch nicht mehr, und zu allem Überfluss sieht man nach dem ersten Einloggen nur einen blinkenden Cursor. Bin ich schon drin in diesem ominösen Linux? Eigentlich könnte es jetzt losgehen mit der Entdeckung des neuen Systems. Aber wie? Woher bekommt man denn Hilfe, wenn gerade kein schlaues Buch zur Hand ist?
Auch Linux besitzt eine Online-Hilfe, die sogenannten Man-Pages (abgeleitet vom englischen oder lateinischen "manual"). Hier kann man viele Dinge nachschlagen, sich Parameter für die meisten Befehle heraussuchen oder Hinweise auf andere Kommandos finden. Tippt man einfach man am Prompt, erhält man folgenden Hinweis:
huhn@huehnerstall ~ > man What manual page do you want?
Offensichtlich gibt es da mehrere. Der nächste Versuch lautet man man. Das erste man ruft hierbei das eigentliche Programm auf, das zweite man ist der zugehörige Parameter und gibt den Befehl an, über den man sich informieren möchte. Nach einer kurzen Zeit, die das System benötigt, um die entsprechende(n) Seite(n) zu formatieren, sieht man die erste Seite des Referenz-Handbuchs.
Hier gibt es Einiges zu erforschen -- und dabei hat man die Möglichkeit zu blättern. Mit der Leer-Taste geht es eine Seite nach unten, mit b (wie "back") wieder hoch. Zum Verlassen gibt man q für "quit" ein.
Das erste Betrachten so einer Seite kann ziemlich abschreckend wirken -- wie soll man in dieser Buchstabenwüste etwas finden? Bringen wir ein bisschen Licht ins Dunkel: Jede Man-Page besteht aus mehreren Abschnitten. Unter NAME findet man eine Kurzbeschreibung des Befehls, SYNOPSIS zeigt das Kommando mit den möglichen Argumenten an, und DESCRIPTION beschreibt, wie der Befehl funktioniert.
Nach dieser recht kurzen Vorstellung geht die Man-Page ans Eingemachte. Nicht alle Informationen, die hier aufgelistet sind, braucht man immer und zu jeder Zeit. Außerdem sind diese Seiten keine Einführung, sondern eher eine Referenz für Jemanden, der sich schon ein bisschen auskennt. Beispiele kommen in diesen Dokumenten daher eher selten vor. Der Trick besteht darin, sich die wichtigen Punkte herauszupicken und auszuprobieren!
Wenn man sich bis zum Ende der Man-Page durchgekämpft hat, gelangt man zum Punkt SEE ALSO. Hier gibt es Hinweise auf verwandte Programme und Dateien. So findet man am Ende der Man-Page zu man den Tipp
SEE ALSO apropos(1), groff(1), man(1), man2html(1), whatis(1).Hier stehen weitere Befehle, die man sich im Zusammenhang mit man anschauen kann.
Aber was bedeutet die Zahl hinter dem Befehl? Diese Ziffer bezieht sich auf die Section, d.h. auf die Abteilung, der die Man-Page angehört. So gibt es z.B. die Sektion 1, der die Beschreibungen zu Benutzerkommandos zugeordnet werden, 5 enthält Man-Pages, die die Formate wichtiger Dateien erklären, 8 bezieht sich auf Kommandos für den Systemverwalter usw.
Sollten Sie z.B. einmal auf den Hinweis stoßen, dass es von mkdir (für "make directory" -- ein Verzeichnis erstellen) zwei verschiedene Varianten (nämlich mkdir(1) und mkdir(2)) gibt, können Sie beide gezielt mit dem Kommando man 2 mkdir bzw. man 1 mkdir anschauen.
Die Man-Pages selbst werden immer so installiert, dass Hilfeseiten einer Sektion gemeinsam in einem entsprechend nummerierten Unterverzeichnis abgelegt werden (C-Funktionen, wie sie Programmierer benötigen, landen als Mitglieder der Sektion 2 z.B. in man2).
Was aber, wenn man den Befehl, nach dem man sucht, gar nicht kennt? Eine Man-Page zum Thema "Drucken" zu finden, scheitert auf einigen Distributionen im ersten Versuch:
huhn@huehnerstall ~ > man print No manual entry for printWahrscheinlich heißt der passende Befehl demnach gar nicht print... Hier kommt das Kommando apropos ins Spiel. Der Aufruf apropos print listet (wie auch man -k print) alle Kommandos auf, in deren Beschreibung print vorkommt. Dabei wird in einer Datenbank nach Teilen des Worts gesucht. Bei einigen Distributionen ist /usr/bin/apropos ein Shell-Skript, bei anderen ein ausführbares Programm.
Ein Blick in das entsprechende Skript verrät, dass die Ausgabe mittels eines PAGERs angezeigt wird:
huhn@huehnerstall ~ > less /usr/bin/apropos [...] if [ "$PAGER" = "" ] then PAGER="/usr/bin/less -is"
Daraus lässt sich erkennen, dass als Pager less -is verwendet wird. less kann sehr praktisch sein, gerade wenn die Ausgabe zum Stichwort etwas umfangreicher ist. Hat das eigene System dieses Feature nicht, und sollten die Zeichen der apropos-Anfrage daher nur so über den Bildschirm fliegen, kann man natürlich die Ausgabe auch direkt in einen Pager seiner Wahl oder eine Datei umleiten:
huhn@huehnerstall ~ > apropos print | lessDurch das Pipe-Zeichen | wird die Ausgabe von apropos print direkt an less weitergeleitet und seitenweise angezeigt. Möchte man sie lieber in eine Datei umlenken, kann man
huhn@huehnerstall ~ > apropos print > ausgabeverwenden und danach die Datei ausgabe mit einem Pager oder Editor seiner Wahl betrachten.
Stellt sich die Frage, wie apropos eigentlich arbeitet, und wie man Abhilfe schafft, wenn es nicht die gewünschten Ergebnisse liefert. Das hängt in erster Linie von der eingesetzten Distribution ab. Liegt in /usr/bin/apropos ein Shell-Skript vor (bei Red Hat z.B.), werden die whatis-Dateien benutzt, die jeweils in einem man-Unterverzeichnis neben man1, man2 etc. zu finden sind. Diese wurden per cron von makewhatis erzeugt und sind ganz normale Textdateien, die z.B. mit grep durchsucht werden können.
Das apropos-Binärprogramm anderer Distributionen (z.B. SuSE oder Debian) greift dagegen auf Index-Dateien zurück und versteht auch Wildcards und reguläre Ausdrücke (siehe regex(3)). Das geht wesentlich schneller und ist darüber hinaus natürlich flexibler. Die Index-Dateien liegen entweder wie whatis bei den Man-Pages oder -- dem Filesystem-Standard FSSTND gehorchend -- unter /var/catman o.ä. Erzeugt werden sie mit dem Kommando mandb(8), das ebenso wie makewhatis regelmäßig per cron ausgeführt wird.
Zuviel Online-Hilfe? Es ist sicher nicht immer ganz einfach, sich von Befehl zu Befehl durch die Man-Pages zu hangeln, gerade wenn man nach mehreren Kommandos sucht, um ein konkretes Problem zu lösen. Daher ist ein gutes Buch, in dem man auch als "Profi" immer mal wieder schmökern kann, nicht zu verachten. Man entdeckt dabei auch nach Jahren immer noch erstaunliche Dinge... (pju)
Die Autorin |
Heike Jurzik studiert Germanistik, Informationsverarbeitung und Anglistik und jobbt nebenbei in der Benutzerberatung des Rechenzentrums der Uni Köln. Sie arbeitet seit 1996 auf Linux-Systemen. Und weil die Tastatur als Tasteninstrument ausreicht, spielt sie statt Klavier lieber Violine in einem Sinfonieorchester und liest bei Gelegenheit gern ein gutes Buch. |
Copyright © 2000 Linux-Magazin Verlag