Так, например, когда я печатаю, man lsя вижу LS(1). Но если я печатаю, man apachectlя вижу, APACHECTL(8)и если я печатаю, man cdя в конечном итоге cd(n).
Мне интересно, каково значение чисел в скобках, если они есть.
@PeterMortensen Вот почему SuperUser и Unix / Linux и ServerFault и AskUbuntu и Apple, все должны быть объединены.
Хлоя
Кроме того, вы можете установить свой собственный порядок поиска с помощьюexport MANSECT=0p:1:2:3:3p:4:5:6:7:8:9:l:s:n
meuh
Это гигантский сбой UX. Цифровая документация вообще не должна иметь номеров разделов; он должен иметь описательные имена и гиперссылки. Я не могу поверить, что им удалось сделать документацию настолько запутанной, что этот вопрос был просмотрен 121000 раз.
Ионо
Ответы:
497
Номер соответствует тому, из какого раздела руководства эта страница; 1 - это команды пользователя, а 8 - это сисадмин. Страница man для 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.
Существуют определенные термины, которые имеют разные страницы в разных разделах (например, printfкак команда появляется в разделе 1, как stdlibфункция появляется в разделе 3); в таких случаях вы можете передать номер раздела 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)
Это, безусловно, объясняет это. Есть ли простой способ узнать, есть ли несколько страниц man для данной команды?
Wilduck
2
@ Да, отредактировано
Майкл Мрозек
11
Обратите внимание, что эти номера разделов для Linux. 1, 3 и 6 одинаковы для всех вариантов unix AFAIK, но остальные и разделы, не содержащие цифр, могут отличаться. Обычно man X introописывает, что есть в разделе X.
Жиль
2
@KeithB: я использовал несколько юнитов с разными 4,5,7,8. Digital Unix (OSF1) имел, а Solaris все еще имеет: форматы файлов в 4, misc в 5, устройства в 7. Solaris также помещает команды администратора в 1m. Я думаю, что системные вызовы в 2 универсальны, но некоторые системы также имеют некоторые интерфейсы библиотеки C в 2 (когда они должны быть тонкими обертками вокруг одноименного системного вызова).
Жиль
4
Да, кто подумал, что тебе понадобится руководство, чтобы использовать руководство ... Никогда я не казнил man man... до сих пор.
Мэтт Кларк
59
История этих номеров разделов восходит к первоначальному Руководству по программированию Unix, написанному Томпсоном и Ричи в 1971 году.
Больше вещей из 70-х, действительно. Я думал, что это было с 80-х годов.
Рольф
«Разное» в первую очередь означает «обширную информацию обо всей подсистеме или общей функции Unix, а не об определенной конечной точке API». Смотрите, например pipe(7), tcp(7)(и несколько других сетевых людей страниц) pthreads(7), boot(7), regex(7)и т.д. Там другие вещи в разделе 7 , а также, например, ascii(7)(ASCII таблице) и man(7)(как написать страницу человека) , но широкое Docs страницы далеко самые полезные вещи в разделе 7 в моем опыте.
Кевин
31
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
Что это означает , что уже описано, но я также хочу добавить , что каждая секция имеет специальную справочную страницу с введением: intro. Например, смотрите man 1 introили man 3 introи так далее.
Я не вижу этого на моей установке Fedora. Вступление man X не стандартно?
beatgammit
@tjameson У вас установлен man-pagesпакет?
php-кодер
15
Из 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]
Относительно того, почему они так разделены - есть некоторые совпадения. Некоторые man-страницы существуют в нескольких разделах, в зависимости от того, что вы имеете в виду.
Например, сравните man crontabс man 5 crontab- скорее всего, именно тот, который вы хотели найти.
И где я должен разместить свои собственные man-страницы, расположенные в ~/man?
Tyilo
Я знал, что там были разные цифры, но я не знал, что это рифма. Спасибо
user606723
1
1p - стандартная версия руководства в формате posix. Если вы хотите написать переносимый код, вы должны использовать только справочные страницы Xp. Если ваша реализация не совместима с posix, X и man-страницы Xp могут отличаться.
andcoz
@ Тыло посмотри мой ответ
Бабкен Варданян
8
Это номера разделов. Просто введите man manили откройте konqueror и введите man: // man, и вы увидите, что это за разделы.
Часто на справочную страницу ссылаются с помощью суффикса к разделу, заключенному в скобки, например:
read(2)
Этот стиль имеет два основных преимущества:
сразу становится ясно, что вы ссылаетесь на страницу руководства - то есть вы можете написать что-то вроде 'cf. читать (3) «вместо» ср. справочная страница раздела 3 для чтения '
если несколько разделов содержат справочные страницы с одним и тем же именем, указание раздела является более точным
Справочные страницы организованы в разделы, например, Раздел 1 включает в себя все справочные страницы с командами пользователя, Раздел 2 - все справочные страницы для системных вызовов, Раздел 3 - для функций библиотеки и т. Д.
В командной строке, если вы не укажете явно раздел, вы получите первую соответствующую справочную страницу в порядке обхода раздела по умолчанию, например:
$ man read
отображается BASH_BUILTINS(1)на Fedora. где
$ man 2 read
отображает справочную страницу для read()системного вызова.
Обратите внимание, что позиционная спецификация раздела не переносима - например, в Solaris вы бы указали ее следующим образом:
$ man -s 2 read
Обычно 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префиксом представляют каждый раздел, в то время как другие содержат переведенные разделы. Таким образом, чтобы получить список непустых разделов, можно выполнить команду, подобную этой:
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 не определяет числа.
export MANSECT=0p:1:2:3:3p:4:5:6:7:8:9:l:s:n
Ответы:
Номер соответствует тому, из какого раздела руководства эта страница; 1 - это команды пользователя, а 8 - это сисадмин. Страница man для man сама (
man man
) объясняет это и перечисляет стандартные:Существуют определенные термины, которые имеют разные страницы в разных разделах (например,
printf
как команда появляется в разделе 1, какstdlib
функция появляется в разделе 3); в таких случаях вы можете передать номер разделаman
перед именем страницы, чтобы выбрать, какой из них вы хотите, или использоватьman -a
для отображения каждой соответствующей страницы в строке:Вы можете сказать, в какие разделы входит термин
man -k
(эквивалентноapropos
команде). Он также будет выполнять сопоставления подстрок (например, он будет отображатьсяsprintf
при запускеman -k printf
), поэтому вам нужно использовать его^term
для ограничения:источник
man X intro
описывает, что есть в разделеX
.man man
... до сих пор.История этих номеров разделов восходит к первоначальному Руководству по программированию Unix, написанному Томпсоном и Ричи в 1971 году.
Оригинальные разделы были
источник
pipe(7)
,tcp(7)
(и несколько других сетевых людей страниц)pthreads(7)
,boot(7)
,regex(7)
и т.д. Там другие вещи в разделе 7 , а также, например,ascii(7)
(ASCII таблице) иman(7)
(как написать страницу человека) , но широкое Docs страницы далеко самые полезные вещи в разделе 7 в моем опыте.konqueror также описывает нестандартные разделы: (спасибо @ greg0ire за идею)
источник
Что это означает , что уже описано, но я также хочу добавить , что каждая секция имеет специальную справочную страницу с введением:
intro
. Например, смотритеman 1 intro
илиman 3 intro
и так далее.источник
man-pages
пакет?Из
man
справочной страницы:Относительно того, почему они так разделены - есть некоторые совпадения. Некоторые man-страницы существуют в нескольких разделах, в зависимости от того, что вы имеете в виду.
Например, сравните
man crontab
сman 5 crontab
- скорее всего, именно тот, который вы хотели найти.источник
man1p
иman3p
?~/man
?Это номера разделов. Просто введите
man man
или откройте konqueror и введите man: // man, и вы увидите, что это за разделы.источник
Часто на справочную страницу ссылаются с помощью суффикса к разделу, заключенному в скобки, например:
Этот стиль имеет два основных преимущества:
Справочные страницы организованы в разделы, например, Раздел 1 включает в себя все справочные страницы с командами пользователя, Раздел 2 - все справочные страницы для системных вызовов, Раздел 3 - для функций библиотеки и т. Д.
В командной строке, если вы не укажете явно раздел, вы получите первую соответствующую справочную страницу в порядке обхода раздела по умолчанию, например:
отображается
BASH_BUILTINS(1)
на Fedora. гдеотображает справочную страницу для
read()
системного вызова.Обратите внимание, что позиционная спецификация раздела не переносима - например, в Solaris вы бы указали ее следующим образом:
Обычно
man man
также перечисляются некоторые из доступных разделов. Но не обязательно все. Для перечисления всех доступных разделов можно перечислить подкаталоги всех каталогов, перечисленных в пути пользователя по умолчанию или в переменной среды$MANPATH
. Например, в системе Fedora 23 с некоторыми установленными пакетами разработки/usr/share/man
есть следующие подкаталоги:Каталоги с
man
префиксом представляют каждый раздел, в то время как другие содержат переведенные разделы. Таким образом, чтобы получить список непустых разделов, можно выполнить команду, подобную этой:(разделы, заканчивающиеся
p
справочными страницами POSIX)Для просмотра справочной страницы на другом языке (если есть) можно установить переменную среды, связанную с языком, например:
Кроме того, каждый раздел должен иметь название
intro
справочной страницы , например, для просмотра через:источник
Определения для SVr4:
Это фактическая нумерация для «генетической» UNIX. POSIX не определяет числа.
источник