man page comando: man 3 vs. man

3

Eu estou querendo saber qual é a diferença entre "comando man 3" vs "comando man"?

Eu li no wiki ( link ) que o man 3 é usado no Linux na seção 3 das man pages. E a seção 3 refere-se às funções de biblioteca, cobrindo em particular a biblioteca padrão C.

Eu tentei "man 3 ls" e percebi isso:

No entry for ls in section 3 of the manual

Eu me pergunto quando usar o homem 3 e quando usar o homem e eles servem aos propósitos da diferença?

Obrigado.

    
por user2157668 11.04.2013 / 19:30

4 respostas

11

man 3 ls mostrará somente uma página man para ls na seção 3 do manual. Seção 3 abrange as funções da biblioteca; já que não há (provavelmente) nenhuma função de biblioteca chamada ls , ela não encontrará nada.

O comando man sem um número de seção pesquisa as seções em uma ordem predefinida que não me lembro, mas é provável que esteja próximo da ordem numérica que começa em 1. Assim, man ls encontrará o ls man página na seção 1, que abrange os comandos do usuário.

As seções (no meu sistema Ubuntu) são:

   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]

Especificar a seção pode ser útil para coisas que existem com o mesmo nome em mais de uma seção. Por exemplo, man printf mostrará a página man do comando printf user na seção 1; para ver a man page da função printf , use man 3 printf . Você geralmente verá essas páginas man referidas como printf(1) e printf(3) , respectivamente.

Roubando Empréstimo da resposta do abernert , é comum ver um comando do usuário (seção 1 ) é um wrapper para uma chamada de sistema (seção 2) ou chamada de biblioteca (seção 3) com o mesmo nome; chown e chmod são bons exemplos disso.

    
por 11.04.2013 / 19:33
3

Como sua pergunta diz, a seção 3 é para funções de biblioteca, cobrindo a biblioteca padrão de C. Não há função ls na biblioteca padrão C, portanto, quando você solicita sua página de manual, não há nenhuma.

Eu posso ver porque você pode estar confuso. Em muitos casos, há uma ferramenta que apenas envolve alguma função C ou POSIX em um executável de linha de comando simples. Por exemplo, a ferramenta chmod (na seção 1) basicamente apenas analisa seus argumentos e chama a função chmod POSIX (na seção 2) em cada arquivo. Portanto, você pode digitar man 1 chmod para obter documentação sobre a ferramenta e man 2 chmod para obter a documentação sobre a função de biblioteca que a ferramenta usa. Se você digitar apenas man chmod , ele selecionará a seção 1 sobre a seção 2, então você obterá a ferramenta.

Mas isso não é sempre true. Por exemplo, a função principal ls usa provavelmente readdir . Portanto, você pode procurar a ferramenta com man 1 ls e procurar a função com man 3 readdir . Nesse caso, man readdir provavelmente fará o mesmo que man 3 readdir , porque não há nada em uma seção de prioridade mais alta com o mesmo nome.

    
por 11.04.2013 / 19:34
1

Algumas das páginas existem em diferentes entradas no homem. Então, para chegar ao específico, muitas vezes você pode querer usar a seção que deseja ver. Por exemplo, veja whatis find . Você será referenciado a três páginas diferentes. Tente usar cada um dos IDs de seção que ele gera entre parênteses.

    
por 11.04.2013 / 19:33
0

Ocasionalmente, quando você está lendo man pages, ou está procurando por uma página em particular com man -k, você pode receber duas páginas com nome similar, mas em bibliotecas diferentes:

[mini-nevie:~] nevinwilliams% man -k route
route(4)                 - kernel packet forwarding database
route(8)                 - manually manipulate the routing tables

Então, para ler cada página do manual, você faz:

man 4 route

para ler o primeiro e

man 8 route

para ler o segundo.

    
por 12.04.2013 / 04:33

Tags