Mann, wofür steht die (1)?

Mann, wofür steht die (1)?

Ich schaue mir die -fFlagge auf dem Mann an, die wie folgt beschrieben wird:

   -f, --whatis
          Equivalent to whatis.  Display a short description from the manual page, if available.  See whatis(1) for details.

Wenn ich Einträge tatsächlich verwende, -fsteht am Ende immer eine Klammer, und manchmal erhält man mehrere Einträge.

Beispiele für man -fErgebnisse:

man -f grep:

grep (1)             - print lines matching a pattern

man -f man:

man (7)              - macros to format man pages
man (1)              - an interface to the on-line reference manuals

man -f git:

Git (3pm)            - Perl interface to the Git version control system
git (1)              - the stupid content tracker

Ich vermute, alle normalen Programmbeschreibungen werden mit angezeigt (1).

Kann jemand erklären, welche anderen Listen durchsucht werden und wie man erkennt, was die verschiedenen Zahlen in den Klammern bedeuten?

Hinweis: Mir ist auch aufgefallen, dass ich für Git die Handbuchseite (3pm) abrufen kann, indem ich man Gitanstelle von eingebe man git. Es scheint kontraintuitiv, dass man gitdas Handbuch eingeschlossen wird, gitaber nicht Git, während as man -f gitInformationen zu beiden zurückgibt.

Antwort1

Das Ding in den Klammern (das auf manchen Systemen eine Kombination aus Buchstaben und Zahlen sein kann, aber meistens nur eine einzelne Ziffer ist) bezieht sich auf eineAbschnitt im Handbuch. „Das Handbuch“ ist die Gesamtheit aller verfügbaren Handbücher.

Auf meinem OpenBSD-System werden im man(1)Handbuch (auch „Handbuch zum manBefehl“ genannt, das Sie mit lesen können man man) folgende Abschnitte zitiert:

1         General commands (tools and utilities).
2         System calls and error numbers.
3         Library functions.
3p        perl(1) programmer's reference guide.
4         Device drivers.
5         File formats.
6         Games.
7         Miscellaneous information.
8         System maintenance and operation commands.
9         Kernel internals.

Die Abschnittsnummern sind auf allen Systemen größtenteils gleich, es kann jedoch geringfügige Abweichungen geben. Die Abschnitte sind nicht standardisiert, zumindest nicht von POSIX, daher denke ich, dass sie größtenteils traditionell sind.

Manchmal müssen Sie wissen, nach welchem ​​Abschnitt Sie suchen. Dies ist printfbeispielsweise beim Handbuch der Fall. printf(1)bezieht sich auf den printfNutzen der Shell, während printf(3)die C-Bibliotheksroutine beschrieben wird printf(). Wenn Sie eingeben man printf, erhalten Sie wahrscheinlich printf(1). Um das Handbuch für die C-Bibliotheksfunktion zu erhalten, verwenden Sie man 3 printf.

Die Abschnitte scheinen mit der dritten UNIX-Edition von Bell Labs im Jahr 1971 eingeführt worden zu sein (das erste UNIX, das in C und nicht in Assembler geschrieben wurde).

Das Handbuch der dritten UNIX-Edition enthieltdie folgenden Abschnitte:

I.    Commands
II.   System calls
III.  Subroutines
IV.   Special files
V.    File formats
VI.   User-maintained programs
VII.  Miscellaneous
VIII. Maintenance

Antwort2

Auszug aus man man(5. Absatz):

   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]

Antwort3

Die Nummern geben an, aus welchem ​​Abschnitt des Handbuchs die Informationen stammen (ursprünglich, welcher physische Band aus der Handbuchreihe, die Sie im Regal hatten).

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

Einige zusätzliche „Abschnitte“ wurden später hinzugefügt. Beispielsweise (3pm)bezieht sich der in Ihrem oben zitierten Text auf ein Perl-Modul (oder eine Perl-Bibliothek).

Antwort4

Die Zahl nach dem Befehl gibt an, in welchem ​​Abschnitt der Manpages sich die Dokumentation für diesen Befehl befindet. Beispielsweise bedeutet grep(1), dass die Manpage für grep in Abschnitt 1 der Manpages zu finden ist.

Bei verschiedenen UNIX-Varianten und Linux-Distributionen gelten unterschiedliche Konventionen bezüglich der Frage, welche Befehlsdokumentation in welchen Abschnitt gehört.

verwandte Informationen