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

Antworten:

221

Manpage-Abschnitte.

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

Der Grund für Abschnitte ist, dass es Dinge gibt, die Manualpages gemeinsam nutzen. Dies mkdir(1)ist der Befehl zum Erstellen eines Verzeichnisses, während dies mkdir(2)ein Systemaufruf ist, der zum Erstellen eines Verzeichnisses in einem C-Programm verwendet werden kann. Also die verschiedenen Abschnitte.

Kommentierte Referenzen [1,2] (wie vorgeschlagen):
http://www.gsp.com/support/man/ - Die FreeBSD-Hilfeseiten sind nach Abschnitten gegliedert:
http://manpages.unixforum.co.uk/man-pages/ linux / suse-linux-10.1 / - SUSE-Hilfeseiten sortiert nach Abschnitten
http://www.december.com/unix/ref/mansec.html - Noch eine Tabelle für Hilfeseitenabschnitte. Ursprüngliche Grundlage der Liste (Details finden Sie in den älteren Änderungen dieses Beitrags)

[1] Erklärungen und Beispiele sind für mich spontane Erfindungen.
[2] nicht, dass es wissenschaftlich fundiert ist, aber die Bitte um Referenz ist eines der Dinge, die das Wachstum von Wikipedia verlangsamen. 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 ...)

bubu
quelle
5
Games (6) haben einen eigenen Bereich!
Jaywalker
5
Eigentlich ist es eher ein lustiges Programm als ein Spiel. caesar (6) und fortune (6) sind höchstens witzig ... und wenn du denkst, bcd (6) ist ein spiel ... okay, ich würde dir das unix guru badge
auflegen
25
Verwenden Sie zum Anzeigen der Informationen den folgenden Befehl: man <number> <command>example: man 1 mkdirundman 2 mkdir
Donny Kurnia
@DonnyKurnia die wichtigste Tatsache, die man wissen muss - den Rest kannst du von hier an selbst
herausfinden
OTOH, die Skeptiker haben Ihre Antwort wertvoller gemacht als die "konkurrierende" stackoverflow.com/a/62972/4145951 , also stimme ich dem zu. ;)
Nemo
83

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]
ssapkota
quelle
3
"Unix ist einfach: man man
Tippen
1
Dies gilt nicht für macOS .
Franklin Yu
36

Die Nummer bezieht sich auf den Manpage-Abschnitt, 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 von ftok(2)ähnlichem:

man 2 ftok
Wuffers
quelle
2
Aus Neugier, warum nicht man mount(8)oder man ftok(2)?
JAB
7
@JAB: Weil die meisten Shells die Klammern speziell nehmen. Sie können keine Klammern in Shell-Befehlen verwenden (ohne etwas Besonderes tun zu wollen).
Wuffers
Das ist interessant.
JAB
+1 Dies ist das Wichtigste, was Sie wissen müssen - Sie können den Rest selbst herausfinden (auch ohne es zu merken man man).
n611x007
3

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.

jftuga
quelle
3

Dies sind die manAbschnittsnummern.

Abschnitte und Beispiele für Linux-Manpages:

  • 1 - Programme oder Shell-Befehle - cp, rm, dd und ps.
  • 2 - Systemaufrufe - fork, exec, ioctl und poll.
  • 3 - Bibliotheksaufrufe - printf, malloc, pthread_ * -Aufrufe, cos, sin, tan usw.
  • 4 - Geräte zB null (/ dev / null), port, random, lp.
  • 5 - Dateiformate - Benutzer, Gruppen, Hosts, host.equiv.
  • 6 - Spiele.
  • 7 - Verschiedenes (häufig Übersichten) - Glob, Intro, TCP, URI, URL, Gebietsschema.
  • 8 - Sys Admin Befehle und Daemons - arp, mount, route, useradd, userdel etc.

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

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

Auswählen einer bestimmten Abschnittsnummer für einen man-Eintrag unter Linux ( printfenthält Einträge in den Abschnitten 1 und 3).

man 3 printf

Um alle Männer Einträge für anzuzeigencfdisk (Verwendung qbei ENDeiner Seite zur nächsten Seite zu gelangen:

man -a cfdisk

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

apropos cfdisk
Verdächtiger
quelle
2

Es ist die manuelle Abschnittsnummer. Vor langer Zeit bezog sich dies auf den physischen Ordner, der diese bestimmte Handbuchseite enthielt.

Aus der manManpage auf 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]
Flup
quelle
0

Hilfeseitenabschnitte, einschließlich nicht standardmäßiger Abschnitte 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 benutzen)

Babken Vardanyan
quelle