Was bedeuten die Klammern und die Nummer nach einem Unix-Befehl oder einer C-Funktion?

17276
Malfist

Ich sehe immer wieder Klammern und eine Zahl nach einem Befehl in Unix oder Linux oder in der C-Funktion.

Zum Beispiel: man (8), ftok (2), mount (8) usw.

Was heißt das? Ich sehe sie auch im Menschen.

208
Cross-Duplikat unter [Unix und Linux] (http://unix.stackexchange.com/faq): * [Was bedeuten die Zahlen in einer Manpage?] (Http://unix.stackexchange.com/questions/ 3586) *. Peter Mortensen vor 13 Jahren 27

8 Antworten auf die Frage

212
bubu

Manpage-Abschnitte.

  1. Allgemeiner UNIX-Befehl, der von allen Benutzern verwendet werden kann. z.Bls(1)
  2. Unix- und C-Systemaufrufe z mmap(2)
  3. C-Bibliotheksroutinen für C-Programme, z system(3)
  4. Spezielle Dateien zB sudoers(4)
  5. Systemdateiformate, z lmhosts(5)
  6. Spiele zB fortune(6)
  7. Sonstiges zB regex(7)
  8. Systemverwaltungsbefehle, die nur von root ausgeführt werden, z iwconfig(8)
  9. (? Linux spezifisch) zBksoftirqd(9)

Der Grund hinter den Abschnitten ist, dass es Seiten gibt, auf denen man Manpages hat. Dies mkdir(1)ist der Befehl, der zum Erstellen eines Verzeichnisses verwendet wird, während mkdir(2)ein Systemaufruf zum Erstellen eines Verzeichnisses in einem C-Programm verwendet werden kann. So die verschiedenen Abschnitte.

Kommentierte Referenzen [1,2] (wie vorgeschlagen):
http://www.gsp.com/support/man/ - Die FreeBSD-Manpages sind nach den Abschnitten
http://manpages.unixforum.co.uk/man-pages/ angeordnet. linux / suse-linux-10.1 / - SUSE-Manpages geordnet nach den Abschnitten
http://www.december.com/unix/ref/mansec.html - Noch eine Tabelle für Manpage-Abschnitte. Anfängliche Basis der Liste (Siehe ältere Bearbeitungen dieses Beitrags für Details)

[1] Erklärungen und Beispiele sind spontane Errungenschaften in meinem Kopf.
[2] Nicht dass es akademisch solide ist, aber die Bitte um Referenz ist eines der Dinge, die das Wachstum von Wikipedia bremsen. Skeptiker versuchen, andere alles zu bekommen und einige der Mitwirkenden Referenz nur erhalten Weise zu ärgern weiter nichts zu antworten, nicht, dass diejenigen, die nutzlos / grundlos Sachen hinzuzufügen versuchen, richtig aus dem Pool entfernt werden (sie bekommen nur die Referenz-Anfrage Tag getaggt auf ihre Ergänzungen, Inhalte nicht entfernt ...)

Games (6) haben einen eigenen Bereich! Jaywalker vor 13 Jahren 5
Eigentlich ist es mehr ein lustiges Programm als ein Spiel. Caesar (6) und Fortune (6) sind höchstens lustig ... und wenn Sie denken, dass bcd (6) ein Spiel ist ... okay, ich würde das Unix-Guru-Abzeichen auf Sie legen bubu vor 13 Jahren 4
Verwenden Sie zum Anzeigen der Informationen den Befehl: `man `Beispiel:` man 1 mkdir` und `man 2 mkdir` Donny Kurnia vor 13 Jahren 22
@DonnyKurnia die wichtigste Tatsache, die man wissen muss - den Rest können Sie von hier aus tatsächlich selbst herausfinden n611x007 vor 12 Jahren 0
OTOH, die Skeptiker machten Ihre Antwort wertvoller als die "konkurrierenden" https://stackoverflow.com/a/62972/4145951, also bin ich der Meinung. ;) Nemo vor 9 Jahren 0
@ bubu, was ist der Unterschied zwischen Abschnitt 7 und Abschnitt 1? Pacerier vor 7 Jahren 0
81
ssapkota

Ein Auszug aus man man:

The table below shows the section numbers of the manual followed 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] 
"Unix ist einfach: tippe" man man "und der Rest kommt von selbst" gerrit vor 12 Jahren 2
Dies gilt nicht für [macOS] (https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/man.1.html). Franklin Yu vor 7 Jahren 0
33
Wuffers

Die Nummer bezieht sich auf den Abschnitt der Manpage, in dem sich der Befehl oder die C-Funktion befindet.

Sie können also auf die Manpage von zugreifen, mount(8)indem Sie den folgenden Befehl ausführen:

man 8 mount 

Oder ftok(2)wie solche:

man 2 ftok 
Warum ist es aus Neugier nicht "Man Mount (8)" oder "Man ftok (2)"? JAB vor 13 Jahren 2
@ JAB: Weil die meisten Shells die Klammern speziell aufnehmen. Sie können in keinem Shell-Befehl Klammern verwenden (ohne etwas Besonderes tun zu wollen). Wuffers vor 13 Jahren 6
Das ist interessant. JAB vor 13 Jahren 0
+1 Dies ist das Wichtigste, was Sie wissen müssen - Sie können den Rest selbst herausfinden (auch ohne "Mann-Mann"). n611x007 vor 12 Jahren 0
12
JdeBP

Sie sind Abschnittsnummern der traditionellen Unix-Handbuchseiten. Ihre Frage wurde vor einem Jahr bereits unter Unix und Linux Stack Exchange beantwortet. Was bedeuten die Zahlen auf einer Manpage? .

3
jftuga

Dies sind Abschnittsnummern. Wenn Sie Abschnitt 2 von Mount lesen möchten, führen Sie Folgendes aus:

man 2 mount 

Einige Manpages haben mehrere Abschnitte.

3
suspectus

Dies sind die manAbschnittsnummern.

Abschnitte und Beispiele für Linux-Manpages:

  • 1 - Programme oder Shellbefehle - cp, rm, dd und ps.
  • 2 - Systemaufrufe - Fork, Exec, Ioctl und Poll.
  • 3 - Bibliotheksaufrufe - printf, malloc, pthread_ *, cos, sin, tan usw.
  • 4 - Geräte, z. B. null (/ dev / null), Port, zufällig, lp.
  • 5 - Dateiformate - Benutzer, Gruppen, Hosts, Host.Equiv.
  • 6 - Spiele.
  • 7 - Verschiedenes (oft Übersichten) - glob, intro, tcp, uri, url, locale.
  • 8 - Sys Admin-Befehle und Daemons - arp, mount, route, useradd, userdel usw.

Beachten Sie, dass es Unterschiede zwischen der man-Section-Liste für Linux und der für Unix System V-Varianten gibt (z. B. Solaris, BSD, SCO, Venix). Weitere Details finden Sie im Manpage Wiki .

Interessanterweise schrieben Ken Thompson und Denis Ritchie, die berühmten Unix- und C-Schöpfer, die ersten Manpages - auf Drängen ihres Managers. Kommt Ihnen das bekannt vor?

Auswahl einer bestimmten Abschnittsnummer für einen Manneintrag unter Linux ( printfhat Einträge in den Abschnitten 1 und 3).

man 3 printf 

So zeigen Sie alle man-Einträge für ancfdisk (verwenden Sie qauf ENDeiner Seite, um zur nächsten Seite zu gelangen:

man -a cfdisk 

Um alle Einträge für einen bestimmten Befehl aufzulisten, verwenden Sieapropos

apropos cfdisk 
2
Flup

Es ist die manuelle Abschnittsnummer. In der Vergangenheit bezog sich dies auf den physischen Binder, der diese bestimmte Handbuchseite enthielt.

Auf der manManpage zu einem modernen Linux-System:

 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 conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard] 
0
Babken Vardanyan

Manpage-Abschnitte einschließlich nicht standardisierter unter Arch Linux:

0 Header files 0p Header files (POSIX) 1 Executable programs or shell commands 1p Executable programs or shell commands (POSIX) 2 System calls (functions provided by the kernel) 3 Library calls (functions within program libraries) 3n Network Functions 3p Perl Modules 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines l Local documentation n New manpages 

(Danke an @ greg0ire für die Idee, Konqueror zu verwenden)