Что означают цифры на странице руководства?

Так, например, когда я набираю man ls, я вижу LS(1). Но если я набираю man apachectl, я вижу APACHECTL(8), и если я набираю man cd, я заканчиваю cd(n).

Мне интересно, каково значение чисел в круглых скобках, если они есть.

man
391 голос | спросил Wilduck 29 +04002010-10-29T01:25:15+04:00312010bEurope/MoscowFri, 29 Oct 2010 01:25:15 +0400 2010, 01:25:15

8 ответов


412

Число соответствует тому, из какого раздела руководства находится эта страница; 1 - это команды пользователя, а 8 - данные системного администратора. Страница man для человека (man man) объясняет это и перечисляет стандартные:

MANUAL SECTIONS
    The standard sections of the manual include:

    1      User Commands
    2      System Calls
    3      C Library Functions
    4      Devices and Special Files
    5      File Formats and Conventions
    6      Games et. al.
    7      Miscellanea
    8      System Administration tools and Daemons

    Distributions customize the manual section to their specifics,
    which often include additional sections.

В разделе 1 есть определенные термины, которые имеют разные страницы в разных разделах (например, printf), поскольку в разделе 3 отображается функция stdlib); в таких случаях вы можете передать номер раздела man до имени страницы, чтобы выбрать, какой из них вы хотите, или использовать man -a, чтобы показывать каждую соответствующую страницу подряд

$ man 1 printf
$ man 3 printf
$ man -a printf

Вы можете узнать, в каких разделах входит термин с man -k (что эквивалентно команде apropos). Он также будет выполнять подстрочные совпадения (например, он покажет sprintf, если вы запустите man -k printf), поэтому вам нужно использовать ^term для ограничьте его:

$ man -k '^printf'
printf               (1)  - format and print data
printf               (1p)  - write formatted output
printf               (3)  - formatted output conversion
printf               (3p)  - print formatted output
printf [builtins]    (1)  - bash built-in commands, see bash(1)
ответил Michael Mrozek 29 +04002010-10-29T01:32:11+04:00312010bEurope/MoscowFri, 29 Oct 2010 01:32:11 +0400 2010, 01:32:11
50

История этих номеров разделов восходит к оригинальному Руководству пользователя Unix Томпсон и Ричи в 1971 году.

Исходными разделами были

  1. Команды
  2. Системные вызовы
  3. Подпрограммы
  4. Специальные файлы
  5. Форматы файлов
  6. Программы, поддерживаемые пользователем
  7. Разное
ответил KeithB 29 +04002010-10-29T17:39:44+04:00312010bEurope/MoscowFri, 29 Oct 2010 17:39:44 +0400 2010, 17:39:44
24

konqueror также описывает нестандартные разделы: (спасибо @ greg0ire за идею)

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
ответил Babken Vardanyan 23 J0000006Europe/Moscow 2014, 10:27:19
18

Что это значит уже описано, но я также хочу добавить, что каждый раздел имеет специальную страницу руководства с введением: intro. Например, см. man 1 intro или man 3 intro и т. Д.

ответил php-coder 6 Mayam11 2011, 09:18:42
12

На странице 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]

Что касается того, почему они разделены, - некоторые перекрываются. Некоторые manpages существуют в более чем одной секции в зависимости от того, что вы имеете в виду.

Например, сравните man crontab с man 5 crontab - скорее всего, это тот, который вы хотели найти.

ответил Shadur 4 PM000000110000005431 2011, 23:57:54
7

Это номера разделов. Просто введите man man или откройте konqueror и введите man: //man, и вы увидите, что это за разделы.

ответил greg0ire 29 +04002010-10-29T01:33:14+04:00312010bEurope/MoscowFri, 29 Oct 2010 01:33:14 +0400 2010, 01:33:14
6

Часто справочная страница ссылается посредством суффиксации с помощью раздела, заключенного в круглые скобки, например:

read(2)

Этот стиль имеет два основных преимущества:

  • сразу становится ясно, что вы ссылаетесь на страницу руководства - то есть вы можете написать что-то вроде 'cf. читать (3) 'вместо' cf. раздел 3 man-страницы для чтения '
  • если несколько разделов содержат man-страницы с тем же именем, уточнение раздела более точно

Персональные страницы организованы в разделах, например. Раздел 1 включает все пользовательские командные страницы, раздел 2, все справочные страницы для системных вызовов, раздел 3 - для функций библиотеки и т. Д.

В командной строке, если вы явно не указали раздел, вы получаете первую совпадающую справочную страницу, в порядке обхода раздела по умолчанию, например:

$ man read

отображает BASH_BUILTINS(1) в Fedora. Где

$ man 2 read

отображает справочную страницу для системного вызова read().

Обратите внимание, что позиционная спецификация секции не переносима - например, на Solaris вы должны указать его следующим образом:

$ man -s 2 read

Обычно man man также перечисляет некоторые из доступных разделов. Но не обязательно все. Для перечисления всех доступных разделов можно указать подкаталоги всех каталогов, перечисленных в man-пути по умолчанию или переменной среды $MANPATH. Например, в системе Fedora 23 с установленными пакетами разработки /usr/share/man имеет следующие подкаталоги:

cs  es  id  man0p  man2   man3x  man5x  man7x  man9x  pt_BR  sk  zh_CN
da  fr  it  man1   man2x  man4   man6   man8   mann   pt_PT  sv  zh_TW
de  hr  ja  man1p  man3   man4x  man6x  man8x  pl     ro     tr
en  hu  ko  man1x  man3p  man5   man7   man9   pt     ru     zh

Каталоги с префиксом man представляют каждый раздел, в то время как другие содержат переведенные разделы. Таким образом, чтобы получить список непустых разделов, можно было бы создать такую ​​команду:

$ find /usr/share/man -type f  | sed '[email protected]^.*/man\(..*\)/.*[email protected]\[email protected]' \
    | sort -u | column
0p  1p  3   4   6   8
1   2   3p  5   7

(разделы, заканчивающиеся на p) - это страницы руководства POSIX)

Чтобы просмотреть справочную страницу на другом языке (если доступно), можно установить переменную среды, связанной с языком, например:

$ LC_MESSAGES=de_DE man read

Кроме того, в каждом разделе должна быть указана справочная страница с именем intro, например. Просмотр через:

$ man 2 intro
ответил maxschlepzig 2 J000000Saturday16 2016, 02:14:54
2

Определения для SVr4:

1 User Commands
2 System Calls
3 library Functions
4 File Formats
5 Standards, Environment and Macros (e.g. man(5))
6 Games and Demos
7 Device and Network Interfaces, Special Files
8 Maintenance Procedures
9 Kernel and Driver entry points and structures

Это фактическая нумерация для «генетической» UNIX. POSIX не определяет числа.

ответил schily 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 27 Sep 2015 13:51:17 +0300 2015, 13:51:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132