Linux / Befehl man: Handbuchseiten lesen und durchsuchen
man ist ein Befehl, der in Linux-Systemen verwendet wird, um die Dokumentation für installierte Befehle, Konfigurationsdateien, Systemaufrufe, Bibliotheksfunktionen und andere Elemente direkt im Terminal zu lesen. Standardmäßig können Sie durch Ausführen von man command die Nutzung, Optionen, den Exit-Status und verwandte Dokumente überprüfen.
Da Beispiele, die im Internet gefunden werden, von der Version auf dem aktuellen System abweichen können, ist es eine gute Gewohnheit, die auf Ihrem System installierte Handbuchseite (Man-Seite) zu überprüfen, bevor Sie tatsächliche Aufgaben ausführen. Dieser Artikel erklärt alles, von der Öffnung des Handbuchs, der Auswahl von Abschnitten, der Suche nach Schlüsselwörtern, der Überprüfung von in die Shell eingebauten Befehlen bis hin zur Fehlersuche.
Was ist der man-Befehl?
man ist eine Schnittstelle, die Systemreferenzhandbücher anzeigt. Wenn ein Seitenname als Argument übergeben wird, durchsucht sie die konfigurierten Pfade nach dem Handbuch, formatiert es und zeigt es Bildschirm für Bildschirm an. Im Allgemeinen wird less als Pager verwendet, um den Bildschirm anzuzeigen, aber dies kann je nach Systemeinstellungen und den Umgebungsvariablen MANPAGER oder PAGER variieren.
Handbuchseiten werden nicht von einem einzelnen man-Programm bereitgestellt. Jedes Kommando oder Bibliothekspaket installiert seine eigene Dokumentation, sodass die verfügbaren Seiten je nach installierten Paketen und Versionen unterschiedlich sein können, selbst auf derselben Distribution.
Grundsyntax und erstes Beispiel
Die am häufigsten verwendete Syntax ist wie folgt. Eckige Klammern bedeuten optionale Elemente, geben Sie sie also nicht im eigentlichen Befehl ein.
man [options] [[section] page...]
Um das Handbuch für den Befehl ls zu öffnen, führen Sie ihn wie folgt aus.
man ls
Wenn Sie die Seite eines bestimmten Abschnitts öffnen möchten, geben Sie die Abschnittsnummer vor dem Seitennamen an.
man 5 passwd
Der obige Befehl öffnet die Seite von Abschnitt 5, der das Dateiformat /etc/passwd erklärt, nicht den Befehl passwd. Wenn Sie den Abschnitt wie man passwd weglassen, wird in einer vordefinierten Reihenfolge gesucht und nur die erste gefundene Seite angezeigt.
Die folgenden Tasten sind im Allgemeinen verfügbar, wenn der Pager auf less eingestellt ist. Wenn ein anderer Pager eingestellt ist, können sich die Tastenfunktionen unterscheiden.
| Taste | Aktion |
|---|---|
Space, Page Down |
Zur nächsten Seite wechseln. |
b, Page Up |
Zur vorherigen Seite wechseln. |
↑, ↓ |
Eine Zeile nach oben oder unten bewegen. |
g |
Zum Anfang des Dokuments wechseln. |
G |
Zum Ende des Dokuments wechseln. |
/string |
Nach einem String nach unten vom aktuellen Standort suchen. |
?string |
Nach einem String nach oben vom aktuellen Standort suchen. |
n, N |
Wechseln Sie zum nächsten Suchergebnis oder zum vorherigen Suchergebnis. |
h |
Öffnen Sie die Hilfe des Pagers. |
q |
Beenden Sie das Handbuch. |
Zum Beispiel, wenn Sie man ls öffnen und dann /-a eingeben und Enter drücken, können Sie den Ort finden, an dem -a erscheint. Kurze Optionen können mit anderen Wörtern im Text übereinstimmen, daher ist es, falls notwendig, schneller, nach langen Optionsnamen oder Schlüsselwörtern in der Beschreibung zu suchen, wie --all.
Lesen der Struktur einer Handbuchseite
Nicht jedes Element existiert auf jeder Seite, aber ein typisches Befehls-Handbuch ist in die folgenden Abschnitte organisiert.
| Abschnitt | Inhalt |
|---|---|
NAME |
Fasst den Seitennamen und die Funktion in einer Zeile zusammen. |
SYNOPSIS |
Zeigt das Verwendungsformat von Befehlen oder Funktionen. |
DESCRIPTION |
Erklärt detailliert, wie es funktioniert und welchen Zweck es hat. |
OPTIONS |
Beschreibt die verfügbaren Optionen und die Wirkung jeder Option. |
EXIT STATUS |
Erklärt den Exit-Status, der zwischen normaler Beendigung und Fehlern unterscheidet. |
ENVIRONMENT |
Beschreibt Umgebungsvariablen, die den Betrieb beeinflussen. |
FILES |
Zeigt verwandte Konfigurationsdateien, Datendateien und deren Pfade. |
EXAMPLES |
Gibt tatsächliche Anwendungsbeispiele. Möglicherweise nicht auf jeder Seite verfügbar. |
SEE ALSO |
Anleitungen zu anderen Handbuchseiten, die gut zusammen gelesen werden können. |
SYNOPSIS betont ebenfalls die Bedeutung der Notation. Text in Fettschrift stellt üblicherweise Einträge dar, die exakt so eingegeben werden sollten, während kursiver Text im Allgemeinen Werte angibt, die der Benutzer ersetzen sollte. [ ] kennzeichnet optionale Elemente, und ... bezeichnet wiederholbare Elemente. Die Darstellung kann jedoch je nach Seitenformatierung und Ausgabeumgebung variieren, daher sollten Sie auch die Erklärung auf der jeweiligen Seite lesen.
Bedeutung der Handbuchsektionen
Linux-Handbücher sind in Abschnitte unterteilt, die sich nach der Art des Dokuments richten. Da Seiten mit demselben Namen in mehreren Abschnitten existieren können, ist es sinnvoll, die Sektionsnummer zu kennen, um das gewünschte Dokument fehlerfrei zu finden.
| Abschnitt | Klassifikation | Beispiel |
|---|---|---|
| 1 | Ausführbare Programme und Shell-Befehle | ls(1), grep(1) |
| 2 | Systemaufrufe | open(2), read(2) |
| 3 | Bibliotheksaufrufe | printf(3), malloc(3) |
| 4 | Spezialdateien und Geräte | null(4), Geräte-Schnittstelle |
| 5 | Dateiformate und Konventionen | passwd(5), fstab(5) |
| 6 | Spiele | Handbücher der installierten Spiele |
| 7 | Andere Themen und Konventionen | signal(7), man-pages(7) |
| 8 | Systemverwaltungsbefehle | mount(8), useradd(8) |
| 9 | Kernel-Routine | Dies ist ein nicht standardmäßiger Abschnitt und existiert möglicherweise nicht auf allen Systemen |
In der Dokumentation können Sie nach einem Namen eine Zahl sehen, wie z. B. passwd(1) oder passwd(5). Diese Zahl ist keine Version, sondern ein Handbuchabschnitt. Jeder kann wie folgt geöffnet werden.
man 1 passwd man 5 passwd
So finden Sie Seiten mit demselben Namen
Überprüfen Sie alle passenden Abschnitte
-a zeigt alle in der Suchreihenfolge gefundenen Seiten nacheinander an. Nach dem Verlassen der ersten Seite kann das detaillierte Verhalten, wie z. B. die Frage, ob die nächste Seite geöffnet werden soll oder sofort das nächste Dokument angezeigt werden soll, je nach Implementierung und Einstellungen variieren.
man -a passwd
-f gibt den Seitennamen und eine kurze Beschreibung aus. Wird normalerweise für Zwecke wie whatis verwendet.
man -f passwd whatis passwd
Öffnen Sie nur einen bestimmten Abschnitt
Wenn Sie den gewünschten Abschnitt kennen, ist die Angabe der Nummer am genauesten. Zusätzlich zum leerzeichengetrennten Format unterstützen einige man-Implementierungen Formate wie passwd.5 oder das zitierte 'passwd(5)'.
man 5 passwd man passwd.5 man 'passwd(5)'
Wenn Sie Portabilität priorisieren, ist die Verwendung des allgemein bekannten und leicht verständlichen Formats man 5 passwd eine sichere Wahl.
Wie man nach Schlüsselwort sucht, wenn man den Namen nicht kennt
Suche nach Namen und kurzer Beschreibung
man -k sucht nach Schlüsselwörtern in den Namen und Kurzbeschreibungen von Handbuchseiten. apropos wird ebenfalls für denselben Zweck verwendet.
man -k "copy files" apropos "copy files"
Da Suchbegriffe als reguläre Ausdrücke behandelt werden können, müssen Sie bei enthaltenen Sonderzeichen sowohl die Shell- als auch die Suchregeln berücksichtigen. Bei einfachen Phrasen ist es sicherer, sie wie in den obigen Beispielen in Anführungszeichen zu setzen.
Den gesamten Handbuchtext durchsuchen
-K sucht nach Zeichenketten im Text des Handbuchs, nicht im Namen oder in der Zusammenfassung. Wenn viele Dokumente installiert sind, kann dies lange dauern, daher ist es besser, zuerst mit -k zu suchen und -K nur bei Bedarf zu verwenden.
man -K "environment variable"
Die Eingrenzung des Bereichs auf einen spezifischen Abschnitt kann die Suchzeit verkürzen.
man -K 5 "password database"
Häufig verwendete man-Optionen
Die unten stehenden Optionen sind basierend auf der in Linux weit verbreiteten man-db-Implementierung organisiert. Da die Unterstützung und Bedeutung in anderen Betriebssystemen oder Implementierungen unterschiedlich sein kann, ist der genaueste Weg, dies zu überprüfen, die Verwendung von man man für die Beschreibung auf dem aktuellen System.
| Option | Beschreibung |
|---|---|
-a, --all |
Zeigt alle Handbuchseiten an, die mit dem Namen übereinstimmen. |
-f, --whatis |
Druckt den Seitenname und eine kurze Beschreibung. |
-k, --apropos |
Sucht nach Schlüsselwörtern in Namen und kurzen Beschreibungen. |
-K, --global-apropos |
Sucht nach Zeichenfolgen im Text aller Handbuchseiten. |
-w, --where |
Zeigt den Speicherort der Original-Handbuchdatei an, ohne die Seite zu öffnen. |
-l, --local-file |
Zeigt die angegebene lokale Handbuchdatei anstelle des Suchpfads an. |
-L locale, --locale=locale |
Gibt die zu verwendende Locale für diese Ausführung an. |
-M path, --manpath=path |
Gibt direkt den Pfad an, in dem die Handbuchseiten gesucht werden. |
Zum Beispiel können Sie den tatsächlichen Speicherort der Handbuchdatei ls, die Sie gerade lesen, wie folgt überprüfen.
man -w ls
Verwenden Sie den Befehl help auch für in der Shell eingebaute Befehle.
Eingebaute Befehle, die die Shell selbst ausführt, wie cd, alias, read, haben möglicherweise keine separate ausführbare Datei. In Bash ist es besser, zunächst den Typ des Befehls mit type zu überprüfen, und wenn es sich um einen eingebauten Befehl handelt, ist die Verwendung von help genauer und schneller.
type cd help cd help -m cd
help -m zeigt die Hilfe in einem Format ähnlich der Handbuchseite an. Eine detaillierte Erklärung von Bash können Sie wie folgt prüfen.
man bash
Der gleiche Name kann gleichzeitig als Alias, als Funktion, als Shell-Builtin-Befehl und als externes Programm existieren. Wenn Sie sich also nicht sicher sind, was tatsächlich ausgeführt wird, prüfen Sie alles mit type -a name.
type -a printf
Überprüfen Sie lokalisierte Handbücher und die Locale.
man kann das Dokument zunächst in der aktuellen Locale anzeigen, wenn eine übersetzte Seite installiert ist. Sie können die aktuelle Locale mit folgendem Befehl überprüfen.
locale echo "$LANG"
Wenn Sie vorübergehend die englische Originalversion ansehen möchten, können Sie die Option -L verwenden.
man -L C ls
Selbst wenn eine passende Locale eingestellt ist, kann die englische Seite angezeigt werden, wenn eine übersetzte Seite nicht installiert ist oder keine Übersetzung für das Dokument vorliegt. Da Übersetzungen später als das Original aktualisiert werden können, wird empfohlen, das englische Original und die Programmversion zu überprüfen, wenn die Optionen oder das Verhalten verdächtig erscheinen.
Wie zu verfahren ist, wenn eine Handbuchseite nicht verfügbar ist
Überprüfen, ob der Befehl und die zugehörigen Pakete installiert sind
Wenn No manual entry for... erscheint, kann dies daran liegen, dass der Seitenname falsch ist oder das Befehls- oder Dokumentationspaket nicht installiert ist. Überprüfen Sie zuerst, ob der Befehl existiert und um welche Art es sich handelt.
type -a command command -v command
Minimale Installationsabbilder oder Container haben möglicherweise das Programm man und grundlegende Handbücher nicht. Auf Debian/Ubuntu- und Rocky Linux/RHEL-Systemen werden in der Regel die folgenden Pakete installiert.
sudo apt update sudo apt install man-db manpages
sudo dnf install man-db man-pages
Paketnamen und Repository-Konfiguration können je nach Distribution und Version variieren. Dokumentation für bestimmte Programme kann im Programmpaket oder in separaten Dokumentations-/Entwicklungspaketen enthalten sein, daher ist es auch nützlich, die Paket-Suchfunktion der Distribution zu verwenden.
Überprüfung von Suchdatenbanken und Pfaden
Wenn man command geöffnet wird, aber man -k oder whatis keine Ergebnisse liefern, wurde die Indexdatenbank möglicherweise noch nicht erstellt. In einer man-db-Umgebung können Sie die Datenbank mit Administrationsrechten aktualisieren.
sudo mandb
Sie können den Suchpfad für Handbuchseiten mit manpath überprüfen. Wenn der Benutzer MANPATH direkt setzt, kann sich der Standardsuchpfad ändern, daher ist es im Allgemeinen besser, ihn ohne besonderen Grund nicht festzulegen.
manpath printf '%s\n' "$MANPATH"
Praktisch nützliche Anwendungsbeispiele
Optionen schnell finden
Nach dem Öffnen des Handbuchs können Sie die notwendigen Optionen in langen Dokumenten schnell mithilfe der Suchtaste finden.
man tar
Geben Sie /--exclude auf dem Bildschirm ein und drücken Sie Enter, dann bewegen Sie sich zwischen den Suchergebnissen mit n und N.
Überprüfung des Konfigurationsdateiformats
Bevor Sie die Konfigurationsdatei ändern, prüfen Sie, ob es relevante Seiten in Abschnitt 5 gibt. Die Bedeutungen der Felder, zulässige Werte, Kommentierungsregeln und Beispiele können erklärt werden.
man 5 fstab man 5 ssh_config man 5 sshd_config
Untersuchung durch das Folgen verwandter Dokumente
Wenn Sie die Antwort auf einer Seite nicht finden können, überprüfen Sie SEE ALSO am Ende des Dokuments. Verwandte Befehle, Konfigurationsdateien, Systemaufrufe und konzeptionelle Dokumente sind im name(section)-Format verlinkt, sodass Sie Ihren Suchbereich systematisch erweitern können.
man 2 open man 7 path_resolution
Worin unterscheiden sich man, --help und info?
| Methode | Geeignete Situationen | Funktionen |
|---|---|---|
command --help |
Wenn Sie die Syntax und Optionen schnell überfliegen möchten | Gut für kurze und unmittelbare Überprüfungen, aber einige nicht unterstützte Befehle existieren |
man command |
Wenn Sie detaillierte Dokumentation zu Optionsbedeutungen, Dateien und Umgebungsvariablen sehen möchten | Bietet Referenzdokumente, die auf dem aktuellen System installiert sind |
info command |
Wenn Sie GNU-Programmkapitel und -Beispiele ausführlich lesen möchten | Es ist eine Hypertext-Struktur und erfordert ein separates Info-Dokument. |
help command |
Beim Überprüfen von Bash-Built-in-Befehlen | Zeigt die Hilfe für Built-in-Befehle, die vom aktuellen Bash bereitgestellt werden |
Anstatt sich nur auf einen zu beschränken, ist es effizient, zuerst die Syntax mit --help zu überprüfen, das detaillierte Verhalten in man zu lesen und help zusammen für Shell-Built-in-Befehle zu verwenden.
Häufig gestellte Fragen
Ist die Zahl nach man die Version?
Nein. Die Zahlen in printf(1) und printf(3) geben Handbuchabschnitte an. Abschnitt 1 behandelt Benutzerbefehle und Abschnitt 3 behandelt Bibliotheksfunktionen, sodass sie selbst bei gleichen Namen unterschiedliche Dokumente sind.
Wie verlässt man das Handbuch?
Wenn der Standard-Pager less ist, drücken Sie q. Wenn es nicht beendet wird, überprüfen Sie die Hilfe oder die Einstellungen des Pagers, den Sie derzeit verwenden.
Warum unterscheidet sich der Inhalt der Seite man von Online-Dokumenten?
Das lokale Handbuch wird von den auf dem aktuellen System installierten Paketen bereitgestellt, sodass es je nach Distribution, Paketversion und Installationsstatus variieren kann. Andererseits können Online-Dokumente eine neuere Version oder eine andere Implementierung beschreiben. Für die Optionen, die auf einem tatsächlichen Server verwendet werden sollen, ist es am sichersten, das lokale Handbuch und command --version zu überprüfen.
Was ist, wenn Sie den Befehlsnamen überhaupt nicht kennen?
Suchen Sie nach dem Namen und einer kurzen Beschreibung mit man -k keyword oder apropos keyword. Wenn die Suchergebnisse zu viele sind, fügen Sie spezifischere Wörter hinzu oder begrenzen Sie den Abschnittsbereich in Umgebungen, die die -s-Option unterstützen.
Zusammenfassung
man ist das grundlegendste Werkzeug, um Referenzdokumente zu prüfen, die auf dem aktuellen Linux-System installiert sind. Anstatt sich nur man command zu merken, können Sie, wenn Sie auch Abschnittsnummern, -k-Suche, -f-Zusammenfassung, -w-Pfadprüfung und Pager-Suche zusammen lernen, die benötigten Informationen viel schneller finden.
Führen Sie zuerst man man aus, um die von der man-Implementierung auf Ihrem System bereitgestellten Optionen zu überprüfen. Die Verwendung des im Shell integrierten Befehls help, die Kurzoptionsprüfung --help und die lange Beschreibung von GNU-Programmen info zusammen kann Lücken in der Dokumentennavigation verringern.




