Questão O que os parênteses e números depois de um comando Unix ou função C significam?


Eu continuo vendo parênteses e um número depois de um comando no Unix ou Linux ou C função.

Por exemplo: man (8), ftok (2), mount (8), etc.

O que isso significa? Eu os vejo no homem também.


207


origem


Duplicação cruzada, em Unix e Linux: O que significam os números em uma página de manual?. - Peter Mortensen


Respostas:


Seções de manpage.

  1. Comando comum do UNIX que pode ser usado por todos os usuários. por exemplo. ls(1)
  2. Chamadas do sistema Unix e C, e. mmap(2)
  3. Rotinas da biblioteca C para programas em C, e. system(3)
  4. Arquivos especiais, por exemplo sudoers(4)
  5. Formatos de arquivo do sistema, por exemplo lmhosts(5)
  6. Jogos, por exemplo fortune(6)
  7. Diversos, por ex. regex(7)
  8. Comandos de administração do sistema que são executados apenas pela raiz, e. iwconfig(8)
  9. (Especifico do Linux), e.ksoftirqd(9)

A razão por trás das seções é que existem coisas compartilhando páginas de manual - mkdir(1) é o comando usado para criar um diretório enquanto mkdir(2) é uma chamada de sistema que pode ser usada para criar um diretório em um programa em C. Assim, as diferentes seções.

Referências anotadas [1,2] (como sugerido):
http://www.gsp.com/support/man/ - As manpages do FreeBSD organizadas de acordo com as seções
http://manpages.unixforum.co.uk/man-pages/linux/suse-linux-10.1/ - Manusagens do SUSE organizadas de acordo com as seções
http://www.december.com/unix/ref/mansec.html - Ainda outra tabela para seções de manpage. Base inicial da lista (Veja edições mais antigas deste post para detalhes)

[1] explicações e exemplos são invenções espontâneas em minha cabeça, para o assunto.
[2] não que seja academicamente sólido, mas o pedido de referência é uma das coisas que desaceleraram o crescimento da wikipedia. os céticos estão tentando fazer com que os outros referenciem tudo e alguns dos contribuintes simplesmente caminho muito irritado para responder mais nada, não que aqueles que tentam adicionar coisas inúteis / infundadas sejam devidamente removidos do pool (eles simplesmente pegam a tag reference-request marcada em suas adições, o conteúdo não é removido ...)


212



Jogos (6) tem uma seção própria! - Jaywalker
na verdade, é mais como programa engraçado do que jogos. César (6) e fortuna (6) são, no máximo, engraçados ... e se você acha que o bcd (6) é um jogo ... ok, eu colocaria o distintivo guru unix em você - bubu
Para exibir as informações, use o comando: man <number> <command> exemplo: man 1 mkdir e man 2 mkdir - Donny Kurnia
@DonnyKurnia o fato mais importante que alguém precisa saber - você pode descobrir o resto sozinho a partir de agora, na verdade - n611x007
OTOH, os céticos fizeram sua resposta mais valiosa do que o "competir" stackoverflow.com/a/62972/4145951, então eu estou revendo isso. ;) - Nemo


Um trecho de 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]

81



"Unix é fácil: digite man man e o resto vem por si só " - gerrit
Isto não é aplicável em Mac OS. - Franklin Yu


O número refere-se à seção da página do manual na qual o comando ou a função C está.

Então você pode acessar a página de manual do mount(8) fazendo o comando:

man 8 mount

Ou de ftok(2) como tal:

man 2 ftok

32



Por curiosidade, por que não é man mount(8) ou man ftok(2)? - JAB
@ JAB: Porque a maioria dos shells levará os parênteses especialmente. Você não pode usar parênteses em nenhum comando do shell (sem querer fazer algo especial). - Wuffers
Bem, isso é interessante. - JAB
+1 Esta é a coisa mais importante que você precisa saber - você pode realmente descobrir o resto sozinho (mesmo sem perceber man man). - n611x007


Eles são números de seção das páginas manuais tradicionais do Unix. Sua pergunta já foi respondida em Unix e Linux Stack Exchange há um ano atrás O que significam os números em uma página de manual?.


12





Estes são números de seção. Se você quiser ler a seção 2 do mount, execute:

man 2 mount

Algumas páginas do manual possuem várias seções.


3





Estes são os man números de seção.

Seções e exemplos para páginas de manual do linux:

  • 1 - Programas ou comandos shell - cp, rm, dd e ps.
  • 2 - Chamadas do sistema - fork, exec, ioctl e votação.
  • 3 - Chamadas de biblioteca - printf, malloc, pthread_ * chamadas, cos, sin, tan etc.
  • 4 - dispositivos, por ex. null (/ dev / null), port, aleatório, lp.
  • 5 - Formatos de arquivos - usuários, grupos, hosts, host.equiv.
  • 6 - jogos.
  • 7 - Diversos (geralmente visões gerais) - glob, intro, tcp, uri, url, locale.
  • 8 - Comandos Admin Sys e daemons - arp, mount, route, useradd, userdel etc.

Nota existem diferenças entre a lista de seções man do linux e aquelas para variantes do Unix System V (por exemplo, Solaris, BSD, SCO, Venix). Mais detalhes de wiki da página man.

Curiosamente, Ken Thompson e Denis Ritchie, os famosos criadores de Unix e C, escreveram as primeiras páginas man - por insistência de seu gerente. Isso soa familiar?

Para selecionar um número de seção específico para uma entrada de homem no linux (printf tem entradas nas seções 1 e 3).

man 3 printf

Para ver todas as entradas de homem para cfdisk (usar q a END de uma página para chegar à próxima página:

man -a cfdisk

Para listar todas as entradas para um determinado comando usar apropos

apropos cfdisk

3





É o número da seção manual. De volta às névoas do tempo, isso se referia ao fichário físico que continha aquela página de manual em particular.

De man manpage em um sistema Linux moderno:

   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]

2





Seções do manpage incluindo aquelas não padronizadas no 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

(graças a @greg0ire pela idéia de usar o Konqueror)


0