Was bedeutet die Zahl in Klammern, die nach Unix-Befehlsnamen in Manpages angezeigt wird?

496

Zum Beispiel: man(1), find(3), updatedb(2)?

Was bedeuten die Zahlen in Klammern (Brit. "Klammern")?

duckyflip
quelle
4
Manpages geben eine Einführung, verwenden Sie (Man 1 Intro) (Man 2 Intro)
Tsenapathy
5
Kreuzduplikat in Super User und Unix und Linux .
Franklin Yu

Antworten:

484

Dies ist der Abschnitt, dem die Manpage für den Befehl zugewiesen ist.

Diese sind aufgeteilt als

  1. Allgemeine Befehle
  2. Systemaufrufe
  3. C Bibliotheksfunktionen
  4. Spezielle Dateien (normalerweise Geräte, die in / dev enthalten sind) und Treiber
  5. Dateiformate und Konventionen
  6. Spiele und Bildschirmschoner
  7. Verschiedenes
  8. Systemverwaltungsbefehle und Dämonen

Die Originalbeschreibungen der einzelnen Abschnitte finden Sie im Unix-Programmierhandbuch (Seite ii).

Ian G.
quelle
123
Wichtige Information: um auf eine Manpage zuzugreifen, die als "foo (5)" angegeben ist:man 5 foo
Steve Bennett
1
Dieser Link hatte dieselbe Liste, war jedoch eine v5-Version dieses Handbuchs. Ich habe mir erlaubt, den Link der Antwort mit einem Link zum Internetarchiv zu aktualisieren, das die Version 7 hatte, auf die die ursprüngliche Antwort zu verlinken schien (basierend auf der URL).
Jeroen
80

Der Abschnitt, in dem der Befehl ausgeführt wird, ist im Handbuch dokumentiert. Die Liste der Abschnitte ist im Handbuch des Menschen dokumentiert. Zum Beispiel:

man 1 man
man 3 find

Dies ist nützlich, wenn in verschiedenen Abschnitten ähnliche oder genau gleiche Befehle vorhanden sind

Vinko Vrsalovic
quelle
102
Und in den "alten Tagen" entsprachen die Abschnittsnummern dem Ordner, in dem sich die Hardcopy-Version der Manpage befand.
Darron
51

Der Grund, warum die Abschnittsnummern von Bedeutung sind, liegt darin, dass vor vielen Jahren, als der Speicherplatz ein größeres Problem darstellte als heute, die Abschnitte einzeln installiert werden konnten.

Auf vielen Systemen waren beispielsweise nur 1 und 8 installiert. Heutzutage neigen die Leute dazu, die Befehle stattdessen bei Google nachzuschlagen.

LepardUK
quelle
10

Beachten Sie auch, dass bei anderen Unixen die Methode zur Angabe des Abschnitts unterschiedlich ist. Auf Solaris ist es zum Beispiel:

man -s 1 man
BAUM
quelle
8

Es gibt den Abschnitt der Manpages an, in dem sich der Befehl befindet. Mit der Option -s im Befehl man kann eine Suche auf bestimmte Abschnitte beschränkt werden.

Wenn Sie eine Manpage anzeigen, wird oben links der Name des Abschnitts angezeigt, z.

Benutzerbefehle printf (1)
Standard-C-Bibliotheksfunktionen printf (3C)

Wenn Sie also versuchen, C-Funktionen nachzuschlagen und nicht versehentlich eine Seite für einen Benutzerbefehl mit demselben Namen anzeigen möchten, führen Sie 'man -s 3C ...' aus.

Dave Costa
quelle
6

Wie @Ian G sagt , sind dies die Manpage-Abschnitte. Gehen wir noch einen Schritt weiter:

1. In der Manpage finden Sie den Befehl man mit man man. Die 9 Abschnitte werden wie folgt angezeigt:

DESCRIPTION
       man  is  the system's manual pager. Each page argument given
       to man is normally the name of a program, utility  or  func‐
       tion.   The  manual page associated with each of these argu‐
       ments is then found and displayed. A section,  if  provided,
       will  direct man to look only in that section of the manual.
       The default action is to search in all of the available sec‐
       tions following a pre-defined order ("1 n l 8 3 2 3posix 3pm
       3perl 5 4 9 6 7" by default, unless overridden by  the  SEC‐
       TION directive in /etc/manpath.config), and to show only the
       first page found, even if page exists in several sections.

       The table below shows the section numbers of the manual fol‐
       lowed by the types of pages they contain.

       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions eg /etc/passwd
       6   Games
       7   Miscellaneous  (including  macro  packages  and  conven‐
           tions), e.g. man(7), groff(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

       A manual page consists of several sections.


2. man <section_num> <cmd>

Stellen Sie sich vor, Sie googeln nach Linux-Befehlen. Sie finden die Seite OPEN(2)online: http://man7.org/linux/man-pages/man2/open.2.html .

Um dies in den Manpages auf Ihrem PC zu sehen, geben Sie einfach ein man 2 open.

Zur FOPEN(3)Verwendung man 3 fopenusw.

3. man <section_num> intro

Um die Intro - Seiten zu einem Abschnitt zu lesen, geben Sie man <section_num> intro, wie man 1 intro, man 2 intro, man 7 introusw.

Führen Sie die folgenden Schritte aus, um alle Manpage-Intros nacheinander anzuzeigen man -a intro. Die Einführungsseite für Abschnitt 1 wird geöffnet. Drücken Sie qzu beenden, drücken Sie dann Enterdas Intro für Abschnitt 8. Drücken Sie, um anzuzeigen qdrücken zu beenden, dann Enterdas Intro für Abschnitt anzuzeigen 3. diesen Prozess fortsetzen , bis getan. Jedes Mal q, wenn Sie auf drücken , kehren Sie zum Hauptbildschirm des Terminals zurück, befinden sich jedoch weiterhin in einer interaktiven Eingabeaufforderung und sehen diese Zeile:

--Man-- next: intro(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

Beachten Sie, dass die Abschnittsreihenfolge, man -a introdurch die Sie geführt werden, wie folgt lautet:

  1. Abschnitt 1
  2. Sektion 8
  3. Sektion 3
  4. Sektion 2
  5. Abschnitt 5
  6. Sektion 4
  7. Abschnitt 6
  8. Abschnitt 7

Diese Suchreihenfolge ist beabsichtigt, wie auf der man manSeite erläutert:

The default action is to search in all of the available sections follow‐
ing a pre-defined order ("1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7" by default, unless overrid‐
den  by the SECTION directive in /etc/manpath.config)

Verbunden:

  1. Google-Suche nach "Linux, was bedeutet die Zahl in Klammern nach einer Funktion?" - https://www.google.com/search?q=linux+what+does+the+number+mean+in+parenthesis+after+a+function%3F&oq=linux+what+does+the+number+mean + in + Klammern + nach + a + Funktion% 3F & aqs = chrome..69i57j69i64.9867j0j7 & sourceid = chrome & ie = UTF-8
  2. /superuser/297702/what-do-the-parentheses-and-number-after-a-unix-command-or-c-function-mean
  3. /unix/3586/what-do-the-numbers-in-a-man-page-mean
Gabriel Staples
quelle
2
Extrem nützliche Infos, nicht sicher warum die Down-Votes aber du hast meine +1.
Harperville
2

Wikipedia- Details zu manuellen Abschnitten:

  1. Allgemeine Befehle
  2. Systemaufrufe
  3. Bibliotheksfunktionen, die insbesondere die C-Standardbibliothek abdecken
  4. Spezielle Dateien (normalerweise Geräte, die in / dev enthalten sind) und Treiber
  5. Dateiformate und Konventionen
  6. Spiele und Bildschirmschoner
  7. Verschiedenes
  8. Systemverwaltungsbefehle und Dämonen
Bob Setterbo
quelle
4
Diese Antwort ist nutzlos geworden; Der Link, der nicht auch in der zuvor akzeptierten Antwort enthalten war, wurde unterbrochen und herausgeschnitten. Jetzt wird durch diese Antwort überhaupt nichts mehr hinzugefügt.
Ben Voigt