In Manpages suchen

Di, 29. November 2022, Ralf Hersel

Manpages (nach dem Unix-Kommando man, was für englisch manual „Handbuch“ steht) sind eine Sammlung von Hilfe- und Dokumentationsseiten unter Unix und verwandten Betriebssystemen. Sie werden mit den Kommandos man und whatis durchsucht sowie ausgegeben. Zur schnellen Durchmusterung wird ein eigener Index, die sogenannte Whatis-Datenbank, angelegt.

Mit dem Kommando whatis erhält man eine kurze Erklärung, was ein bestimmter Befehl macht. Angenommen ihr möchtet wissen, was es mit dem Befehl gpg auf sich hat, tippt ihr whatis gpg im Terminal ein, worauf diese Erklärung erscheint: "OpenPGP encryption and signing tool". Nun habt ihr im Internet eine Befehlsfolge gefunden, die eine bestimmte Anforderung erfüllt. Zum Beispiel dieser Befehl, um im Terminal ein Passwort zu generieren: gpg --gen-random --armor 1 20. Es ist keine gute Idee, einen Befehl auszuführen, ohne ihn vorher verstanden zu haben. Daher stellt sich die Frage, wie man verstehen kann, was der Befehl macht.

Geht doch ganz einfach: Wir schauen in der Manpage von gpg nach: man gpg. Dummerweise enthält diese Manpage 2565 Zeilen (man gpg | wc -l); darin sucht ihr bis zum Sanktnimmerleinstag. Man könnte doch nach dem Parameter --gen-random und --armor in der Manpage von gpg suchen. Gute Idee, aber wie macht man das? Als Erstes kommt einem vermutlich in den Sinn, die Ausgaben von man gpg nach grep zu pipen: man gpg | grep '--gen-random'. Hm, geht nicht: grep: Unbekannte Option »--gen-random«. Aha, grep versucht den Suchbegriff, als Option zu interpretieren. Dem kann man mit der Option -e abhelfen, die den Suchbegriff explizit als Suchmuster kennzeichnet.

man gpg | grep -e '--gen-random'
        --gen-random 0|1|2 count

Das funktioniert, ist aber nicht hilfreich, weil nur die erste Zeile der Fundstelle ausgegeben wird. Besser wird es, wenn man grep sagt, es soll auch die nächsten n Zeilen ausgeben:

man gpg | grep -A 5 -e '--gen-random'
       --gen-random 0|1|2 count
              Emit count random bytes of the given quality level 0, 1 or 2. If count is not given or zero, an endless sequence of random
              bytes will be emitted.  If used with --armor the output will be base64 encoded.  PLEASE, don't use this command unless you
              know what you are doing; it may remove precious entropy from the system!

       --gen-prime mode bits

Schon besser; allerdings weiss man nie, wie viele Folgezeilen man angeben soll. Zum Glück geht das besser, und zwar mit dem Befehl less: man gpg | less +/--gen-random. Der Suchbefehl wird hinter dem / eingegeben.

Mit der Taste n könnt ihr nun zu den weiteren Vorkommen des Suchbegriffs springen. Dieselbe Funktion steht auch innerhalb der Manpages zur Verfügung. Ihr öffnet die Manpage man gpg, tippt dann / gefolgt vom Suchtext. Auch jetzt werden die gefundenen Stellen hervorgehoben. Weitere können ebenfalls mit der Taste n angesprungen werden.

Wem das alles zu mühsam ist, kann auch die Webseite mankier.com öffnen und mit der Browser-eigenen Suche nach den interessanten Passagen suchen:

Ihr seht, wie so oft, führen viele Wege nach Rom. Es liegt an euch, welche Methode euch am ehesten zusagt.

Quellen:

Bildnachweis: Von John W. Eaton - Eigenes Werk, GPL, https://commons.wikimedia.org/w/index.php?curid=5130476

Mankier: https://www.mankier.com/1/gpg

Tags

Man-Page, Suche, Suchen, Mankier