Manpages effizient nutzen
31.07.2011
01:06:54 Uhr4898 Aufrufe
1 Antwort
01:06:54 Uhr
1 Antwort
Hilfreich +6
In dieser Anleitung beschreibe ich, wie man Manpages, also das Standard-Dokumentationssystem auf Unix/Linux-Systemen effizient nutzen kann.
Inhaltsverzeichnis
Nach einer Manpage suchen, die Befehle apropos, man -k und whatis
mit dem Befehl apropos, whatis oder man -k kann man die Überschriften aller Manpages nach einem bestimmten Begriff durchsuchen.Beispiel: welche Manpages gibt es zum Thema DHCP?
markus@samsung:~$ apropos dhcp dhclient [] (8) - script - DHCP client network configuration script dhclient.conf [] (5) - DHCP client configuration file dhclient.leases [] (5) - DHCP client lease database dhcp [] (5) - eval - ISC DHCP conditional evaluation dhcp [] (5) - options - Dynamic Host Configuration Protocol options dhcpcd [] (8) - an RFC 2131 compliant DHCP client dhcpctl_initialize [] (3) - dhcpctl library initialization dhcpd [] (8) - Dynamic Host Configuration Protocol Server dhcpd.conf [] (5) - dhcpd configuration file dhcpd.leases [] (5) - DHCP client lease database dnsmasq [] (8) - A lightweight DHCP and caching DNS serverDer Unterschied zwischen den Kommandos: whatis sucht nach ganzen Wörtern während apropos nach Teilstrings sucht. Das bedeutet, wenn man nicht genau den Befehl kennt nach dem man such, dann kann man mit "apropos" alle Einträge finden, in denen der Suchstring auch als Teilstring vorkommt. Wenn man nach einem bestimmten Programm / Befehl sucht, dann ist whatis effizienter. Die beiden Befehle "man -k" und apropos sind identisch.
Beispiel: Suche mit whatis nach DHCP:
markus@samsung:~$ whatis dhcp dhcp [] (5) - eval - ISC DHCP conditional evaluation dhcp [] (5) - options - Dynamic Host Configuration Protocol optionsUpdaten der whatis-Datenbank
Wenn man neue Programme installiert hat, dann muss die Manpage des neuen Programms in die Datenbank des apropos-Befehls aufgenommen werden, normalerweise sollte das automatisch erfolgen. Falls man dies manuell erledigen muss erfolgt dies entweder mit dem Befehl mandb oder makewhatis , je nach Distribution. Beachtet, dass Ihr dazu root-Rechte benötigt, also entweder als root einloggen oder den Befehl mit sudo ausführensudo makewhatisDie Sections
Die Manpages werden thematisch in 8 verschiedene Bereiche (Sections) unterteilt, hier ein Ausschnitt aus der Manpage zu "man"MANUAL SECTIONS The standard sections of the manual include: 1 User Commands 2 System Calls 3 C Library Functions 4 Devices and Special Files 5 File Formats and Conventions 6 Games et. Al. 7 Miscellanea 8 System Administration tools and DeamonsBeispiel, der Befehl "apropos man" (hier nur ein Ausschnitt der Ausgabe)
markus@samsung:~$ apropos man ... makecontext [] (3) - manipulate user context makedev [] (3) - manage a device number man [] (1) - format and display the on-line manual pages man [] (7) - macros to format man pages man [] (7) - pages - conventions for writing Linux man pages man.conf [] (5) - configuration data for man man2html [] (1) - format a manual page in html manuals with [] (7) - mdoc ... man 7 manDer Aufbau von Manpages
Die Manpages sind eigentlich weitgehen alle nach dem gleichen Schema aufgebaut.In der ersten Zeile steht der Name der Manpage zusammen mit der Section in Klammern. Danach folgt eine kurze Beschreibung. Der weitere Aufbau ist immer wie folgt:
- Name
- Name und kurze Beschreibung in Stichworten
- Synopsis
- Kurze Beschreibung der Syntax und Aufzählung der Optionen
- Description
- Beschreibung des Befehls
- Options
- Hier werden ausführlich die Optionen eines Befehls erklärt
- Bugs
- Wie der Name schon sagt, hier werden bekannte Programmfehler aufgeführt
- Author
- Autor des Befehls und ggf. der Dokumentation
- See also
- Hinweis auf Manpages zu ähnlichen respektive zusammenhängenden Befehlen.
Es können allerdings dazwischen noch viele andere Überschriften in einer Manpage stehen, die oben beschriebenen sind aber eigentlich immer vorhanden.
Am Schluss steht das Datum der letzten Änderung der Manpage.
Suche und Navigation in Manpages
Manpages werden mit dem Programm "less" gelesen. Dieses benutzt die Tastaturbefehle des vi-Editors.Suche
Die Suche erfolgt mit "/" (vorwärts) und mit "?" (rückwärts), "Weitersuchen" erfolgt mit "n". Wie beim vi-Editor wird der Suchbefehl unten links im Fenster angezeigt. Zur Übung: ruft die Manpage für "man" auf und sucht nach der Option "-k".Ein Beispiel: Ihr möchtet wissen, was genau passiert wenn die Bash-Shell als login-shell ausgeführt wird. Aufrufen der Manpage erfolgt mit
man bashund nun sucht Ihr nach dem Wort "login"
/loginWhen bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.?loginSuchen nach einer Option
Beispiel, Suche nach der Option -h in der Manpage zum ls-Befehl/-h -h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G)Zeilen anspringen
Zurück zur ersten Zeile geht's mit dem Befehl 1G , die letzte Zeile erreicht man mit G , eine beliebige Zeilennummer n mit nG .Marken setzen
Genau wie in vi kann man Marken setzen, an einer interessanten Stelle ma eingeben speichert die Marke a an der Stelle, später kann man mit 'a wieder dorthin zurück, das bleibt allerdings nach beenden von less nicht erhalten.Man verlässte eine Manpage mit q .
Umwandeln einer Manpage in ein PDF-Dokument
Mit dem Befehl (hier am Beispiel der Manpage für "man")man -t man | ps2pdf -> man.pdfMarkus










