Cosa significa il numero tra parentesi mostrato dopo i nomi dei comandi Unix nelle manpage?


Risposte:


484

È la sezione a cui è assegnata la pagina man per il comando.

Questi sono divisi come

  1. Comandi generali
  2. Chiamate di sistema
  3. Funzioni della libreria C.
  4. File speciali (di solito dispositivi, quelli trovati in / dev) e driver
  5. Formati e convenzioni dei file
  6. Giochi e salvaschermi
  7. Miscellanea
  8. Comandi e demoni di amministrazione del sistema

Le descrizioni originali di ciascuna sezione sono disponibili nel Manuale del programmatore Unix (pagina ii).


123
Informazioni chiave: per accedere a una pagina man indicata come "foo (5)":man 5 foo
Steve Bennett,


1
Quel link aveva lo stesso elenco, ma era una versione v5 di detto manuale. Mi sono preso la libertà di aggiornare il link della risposta con uno in The Internet Archive che aveva la versione v7 a cui la risposta originale sembrava collegarsi (in base all'URL).
Jeroen,

80

La sezione del comando è documentata nel manuale. L'elenco delle sezioni è documentato nel manuale dell'uomo. Per esempio:

man 1 man
man 3 find

Ciò è utile quando esistono comandi simili o esattamente uguali su sezioni diverse


102
E nei "vecchi tempi" i numeri di sezione corrispondevano al raccoglitore in cui si trovava la versione cartacea della pagina man.
Darron,

51

Il motivo per cui i numeri di sezione sono significativi è che molti anni fa, quando lo spazio su disco rappresentava un problema maggiore di quello che è ora, le sezioni potevano essere installate singolarmente.

Molti sistemi avevano solo 1 e 8 installati per esempio. Al giorno d'oggi le persone tendono invece a cercare i comandi su google.


10

Si noti inoltre che su altri unix, il metodo di specifica della sezione differisce. Su Solaris, ad esempio, è:

man -s 1 man

8

Indica la sezione delle pagine man in cui si trova il comando. L'opzione -s sul comando man può essere usata per limitare una ricerca ad alcune sezioni.

Quando si visualizza una pagina man, in alto a sinistra viene visualizzato il nome della sezione, ad esempio:

Comandi utente printf (1)
Funzioni libreria standard C printf (3C)

Quindi, se stai cercando di cercare le funzioni C e non vuoi vedere accidentalmente una pagina per un comando utente che condivide lo stesso nome, faresti 'man -s 3C ...'


6

Come dice @Ian G , sono le sezioni della pagina man. Facciamo un ulteriore passo avanti però:

1. Vedi la pagina man per il comando man con man mane mostra le 9 sezioni come segue:

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>

Immaginiamo che stai cercando su Google i comandi di Linux. Trovi la pagina OPEN(2)online: http://man7.org/linux/man-pages/man2/open.2.html .

Per vederlo nelle pagine man sul tuo pc, digita semplicemente man 2 open.

Per FOPEN(3) uso man 3 fopen, ecc.

3. man <section_num> intro

Per leggere le pagine di introduzione a una sezione, digitare man <section_num> intro, ad esempioman 1 intro , man 2 intro, man 7 intro, etc.

Per visualizzare tutte le introduzioni della pagina man in successione, una dopo l'altra, fallo man -a intro. Si aprirà la pagina introduttiva per la Sezione 1. Premere qper uscire, quindi premere Enterper visualizzare l'introduzione per la Sezione 8. Premere qper uscire, quindi premere Enterper visualizzare l'introduzione per la Sezione 3. Continuare questo processo fino al termine. Ogni volta dopo aver colpitoq , ti riporterà alla schermata del terminale principale ma ti verrà comunque visualizzato un prompt interattivo e vedrai questa riga:

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

Nota che la Sezione lo ordina man -a intro ti porterà attraverso è:

  1. Sezione 1
  2. Sezione 8
  3. Sezione 3
  4. Sezione 2
  5. Sezione 5
  6. Sezione 4
  7. Sezione 6
  8. Sezione 7

Questo ordine di ricerca è intenzionale, come man manspiegato nella pagina:

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)

Relazionato:

  1. Google cerca "linux cosa significa il numero tra parentesi dopo una funzione?" - 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 + tra parentesi + dopo + una + funzione% 3F & AQS = chrome..69i57j69i64.9867j0j7 & sourceid = cromo & 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

2
Informazioni estremamente utili, non so perché i voti negativi, ma hai il mio +1.
Harperville,

2

Dettagli di Wikipedia sulle sezioni manuali:

  1. Comandi generali
  2. Chiamate di sistema
  3. Funzioni di libreria, che coprono in particolare la libreria standard C.
  4. File speciali (di solito dispositivi, quelli trovati in / dev) e driver
  5. Formati e convenzioni dei file
  6. Giochi e salvaschermi
  7. Miscellanea
  8. Comandi e demoni di amministrazione del sistema

4
Questa risposta è diventata inutile; il link che non era presente anche nella risposta precedentemente accettata si è rotto ed è stato eliminato, ora non c'è più nulla da aggiungere a questa risposta.
Ben Voigt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.