Manpages (Manual Pages) sind ein zentrales Hilfsmittel in Unix-ähnlichen Betriebssystemen wie Linux, um Informationen zu verschiedenen Programmen, Befehlen, Systemaufrufen, Dateiformaten und mehr bereitzustellen. Manpages sind eine Art von Dokumentation, die direkt in Terminal angezeigt werden können. Sie sind in verschiedene Sektionen unterteilt, wobei jede Sektion eine spezifische Art von Information abdeckt.

Aufbau von Manpages

Manpages werden über den Befehl man aufgerufen, gefolgt von dem Namen des Befehls oder der Funktion, über die man Informationen erhalten möchte.

Bash
man ls

Dieser Befehl zeigt die Manpage für den Befehl ls an.

Grundstruktur einer Manpage

Eine typische Manpage besteht aus mehreren Abschnitten (Sections), die in einer bestimmten Reihenfolge angezeigt werden. Die genaue Struktur kann je nach Programm variieren, aber oft findet man folgende Standardabschnitte.

  1. NAME: Der Name des Programms oder Befehls und seine kurze Beschreibung
  2. SYNOPSIS: Eine Übersicht über die Nutzungssyntax, oft in einer formalen Notation, die die verfügbaren Optionen und Argumente zeigt.
  3. DESCRIPTION: Eine detaillierte Beschreibung dessen, was der Befehl oder das Programm tut.
  4. OPTIONS: Eine Liste der verfügbaren Optionen und deren Bedeutung.
  5. EXIT STATUS: Informationen darüber, welche Rückgabewerte der Befehl liefert und was diese bedeuten.
  6. RETURN VALUE: Ähnlich wie EXIT STATUS, aber spezifisch für Systemaufrufe und Bibliotheksfunktionen.
  7. ENVIRONMENT: Eine Liste der Umgebungsvariablen, die das Verhalten des Programms beeinflussen.
  8. FILES: Wichtige Dateien, die mit dem Befehl oder Programm verknüpft sind.
  9. EXAMPLES: Anwendungsbeispiele, die häufige Anwendungsfälle demonstrieren.
  10. SEE ALSO: Verweise auf verwandte Manpages oder Dokumentationen
  11. BUGS: Informationen über bekannte Fehler oder Probleme.
  12. AUTHOR: Informationen über den Autor oder die Autoren des Programms oder Befehls.
  13. COPYRIGHT: Informationen über Urheberrechte und Lizenzierung.

Sektionen (Sections) in Manpages

Manpages sind in verschiedene Sektionen unterteilt, wobei jede Sektion einen spezifischen Bereich des Systems oder der Dokumentation abdeckt. Diese Sektionen werden oft durch eine Zahl angegeben und dieselbe Zahl wird auch im man Befehl verwendet, um explizit eine Manpage in einer bestimmten Sektion aufzurufen.

Wichtig

  • Manpages für die Systemaufrufe sind nicht installiert: Auf vielen Linux-Systemen sind die Manpages für Systemaufrufe und Bibliotheksfunktionen in separaten Paketen enthalten, die möglicherweise nicht standardmäßig installiert sind.
  • Unterschiedliche Betriebssysteme oder Distributionen: Nicht alle Linux-Distributionen enthalten dieselben Manpages. Zum Beispiel können Manpages für bestimmte Systemaufrufe in minimalistischen oder speziell zugeschnittenen Systemen fehlen.

Um sicherzustellen, dass man die Manpages für Systemaufrufe (bsp. Sektion 2) hat, kann man versuchen, das Paket zu installieren, das diese Manpages bereitstellt. In Debian-basierten Distributionen wie Ubuntu wäre typischerweise das Paket manpages-dev.

Bash
sudo apt install manpages-dev

Sektion 1: Benutzerbefehle
Diese Sektion beschreibt ausführbare Programme und Shell-Befehle, die von normalen Benutzern verwendet werden können.
Beispiel: man 1 ls

Sektion 2: Systemaufrufe
Diese Sektion beschreibt Systemaufrufe (System Calls), die von dem Kernel bereitgestellt werden.
Beispiel: man 2 open

Sektion 3: Bibliotheksfunktionen
Diese Sektion behandelt Funktionen aus der Standard-C-Bibliothek (libc) und anderen Programmbibliotheken.
Beispiel: man 3 printf

Sektion 4: Geräte und spezielle Dateien
Diese Sektion beschreibt spezielle Dateien, in der Regel Geräte (Device Files) im /dev Verzeichnis.
Beispiel: man 4 tty

Sektion 5: Dateiformate und Konfiguration
Diese Sektion behandelt die Formate von Dateien und Konfigurationsdateien.
Beispiel: man 5 passwd

Sektion 6: Spiele und Unterhaltung
Diese Sektion enthält Dokumentation zu Spielen und anderen Programmen für Zeitvertrieb.

Sektion 7: Übergreifende Themen und Makropakete
Diese Sektion behandelt verschiedene themenübergreifende Dokumentationen wie Makropakete, Konventionen und Standards.
Beispiel: man 7 man

Sektion 8: Systemadministration
Diese Sektion enthält Befehle und Daemons, die üblicherweise nur von Administratoren verwendet werden.
Beispiel: man 8 iptables

Sektion 9: Kernel-Routinen
(Nicht auf allen Systemen vorhanden) Diese Sektion beschreibt die Kernel-Interna, die für die Entwicklung von Treibern und Kernel-Funktionen relevant sind.

Installation von Manpages

Auf vielen Distributionen sind Manpages standardmäßig installiert, jedoch manchmal nicht vollständig oder nur eingeschränkt vorhanden.

Debian/Ubuntu

Um allgemeine Manpages zu installieren.

Bash
sudo apt update
sudo apt install man manpages man-db manpages-dev

Fall man Manpages in Deutsch installieren möchte:

Bash
sudo apt install manpages-de manpages-de-dev

Fedora / CentOS / RHEL

Hier wird der dnf Paketmanager verwendet.

Bash
sudo dnf install man man-pages man-db

Optionale zusätzliche Dokumentation.

Bash
sudo dnf install man-pages-de

Arch Linux

Auf Arch-basierten Linux-Distributionen wird pacman Paketmanager verwendet.

Bash
sudo pacman -S man-db man-pages

Um zusätzlich deutsche Manpages zu installieren.

Bash
sudo pacman -S man-pages-de

FAQ

Wie navigiere ich in einer geöffneten Manpage?

Standardmäßig öffnet man die Seite in less. Leertaste blättert eine Seite vor, b zurück, j/k zeilenweise, g/G springen an Anfang bzw. Ende. Mit /begriff suchst du vorwärts, mit ?begriff rückwärts; n und N springen zum nächsten bzw. vorigen Treffer. q beendet die Anzeige. Diese Tastenkürzel funktionieren in jeder less-Sitzung — also auch bei git log oder journalctl.

Welche Sektion brauche ich, wenn der Name doppelt vorkommt?

printf existiert sowohl als Shell-Built-in (Sektion 1) als auch als C-Funktion (Sektion 3). man printf liefert die erste gefundene — meist Sektion 1. Mit man 3 printf erzwingst du die C-Variante. man -k printf listet alle Sektionen auf, in denen der Name vorkommt; man -f printf zeigt die Kurzbeschreibung jeder Variante.

Wie finde ich heraus, in welcher Sektion ein Begriff steht?

apropos begriff (oder gleichbedeutend man -k begriff) durchsucht die Kurzbeschreibungen aller Manpages und zeigt Treffer mit Sektionsnummer. whatis befehl liefert die einzeilige Beschreibung exakt zu einem Namen. Beide Werkzeuge greifen auf die mandb-Datenbank zu — falls leer, erst sudo mandb ausführen.

Warum sehe ich `No manual entry for ...`?

Drei häufige Gründe: (1) Das Paket ist installiert, aber die Doku-Pakete fehlen — bei Debian zusätzlich manpages-dev oder das *-doc-Paket nachinstallieren. (2) Bei Shell-Built-ins wie cd oder export gibt es keine eigene Manpage; stattdessen help cd in Bash oder man bash-builtins. (3) Die mandb-Datenbank ist veraltet — sudo mandb erneuert sie.

Gibt es Alternativen, wenn die Manpage zu trocken ist?

tldr (z. B. tldr tar) zeigt knappe Beispiele für die häufigsten Anwendungsfälle — installiert via sudo apt install tldr oder als Client tealdeer. info <befehl> öffnet die GNU-Texinfo-Doku, die bei Coreutils oft ausführlicher ist als die Manpage. Online sind man7.org und explainshell.com gute Ergänzungen.

Wie speichere oder drucke ich eine Manpage?

man -P cat befehl > befehl.txt schreibt die Manpage als Text in eine Datei (ohne Pager und Steuerzeichen). man -t befehl | ps2pdf - befehl.pdf erzeugt ein PDF — -t rendert die Manpage als PostScript. Für reines Text-Formatieren ist man befehl | col -b > befehl.txt (entfernt Backspace-Sequenzen) ein bewährtes Muster.

Weiterführende Ressourcen

Externe Quellen

  • Linux Shell — Grundlagen, in denen man ständig nützlich ist
  • PATH — wo man Befehle und Manpages sucht
  • VariablenMANPATH, PAGER, LESS steuern das Verhalten
  • Berechtigungen — Zugriffsrechte sind oft in der Manpage des Befehls dokumentiert
  • echo — viele Optionen erklärt durch man echo
/ Weiter

Zurück zu Grundlagen

Zur Übersicht