Qual é a ordem pré-definida em que o homem pesquisa as seções? [duplicado]

0

A descrição de man em sua página de manual pessoal contém a declaração,

The default action is to search in all of the available sections following a pre-defined order ("1 n l 8 3 0 2 5 4 9 6 7" by default, unless overridden by the SECTION directive in /usr/local/etc/man_db.conf), and to show only the first page found, even if page exists in several sections.

O que exatamente se quer dizer com "1 n l 8 3 0 2 5 4 9 6 7" ?

    
por LongTP5 20.11.2018 / 12:06

1 resposta

2

É a "seção" da man -page - o número entre parênteses após o nome, por exemplo, ls(1) .

Você poderia pensar nas páginas do manual como um conjunto de manuais reais, divididos em vários volumes. Por exemplo, o primeiro "volume" é a seção 1 que contém comandos comuns do usuário - como ls (1), bash (1) e man (1). A seção 8 contém comandos para o administrador do sistema, como comandos para desligar o sistema e instalar pacotes. (geralmente comandos que não podem ser usados por usuários não-root.) A Seção 5 contém formatos de arquivo - como como / etc / passwd e / etc / sudo devem ser formatados. A seção 3 contém funções de biblioteca para vários idiomas (principalmente para C) - como a função C printf ().

Observe que alguns "comandos" - como cd e fg - são realmente chamados de recursos internos no shell e não possuem sua própria página de manual. Em vez disso, eles estão documentados nas páginas de manual do shell específico - por exemplo. na página do homem do bash (1). Shells também podem fornecer alternativas para alguns comandos como built-ins, e geralmente usam estes em vez do comando externo. Um exemplo é como o bash (1) tem uma versão interna do kill (1).

A partir do man-page de man-pages (7):

   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]

Às vezes, letras ou palavras são adicionadas ao número para indicar que a página do manual pertence a um subsistema ou pacote, por exemplo, "x" para comandos X GUI, como startx (1x) ou "tcl" para comandos e funções pertencentes à linguagem Tcl. Ou mesmo que sejam comandos "opcionais" / "adicionais" ou "alternativos" - por exemplo, se você tiver duas versões de tar , uma do GNU e uma do BSD.

Para obter uma seção específica, você pode adicionar o número da seção ao seu comando:

man passwd retorna o comando passwd da seção 1 (porque a seção 1 é pesquisada primeiro e a pesquisa então é interrompida)

man 1 passwd retorna o mesmo (mas agora porque especificamos a seção 1)

man 5 passwd retorna o formato de arquivo de / etc / passwd da seção 5 (porque especificamos a seção 5 em vez de 1)

Para diferenciar os dois, você deve se referir a eles como passwd (1) e passwd (5) (por exemplo, se você escreveu um livro - ou uma página de manual).

Portanto, a ordem de busca faz sentido - os comandos são mais procurados do que os formatos de arquivo, sem mencionar as bibliotecas de programação e as chamadas do sistema.

Finalmente, você deve notar que diferentes sistemas Unix podem usar seções um pouco diferentes, por exemplo, eu vi a seção 7 usada para comandos de processamento de texto, e a seção 9 usada para jogos, e eu vi a seção 9 usada como um pega-tudo para vários man-pages não se encaixando em outro lugar.

    
por 20.11.2018 / 12:47

Tags