В чем разница между `man` и`man (#)`?
Просто увидел, что кто-то ссылается man 7 regex
на Stackoverflow. Я старался man regex
и получил очень похожий результат - есть небольшие различия.
Так что же это за волшебное число 7? поиск man 7 unix
в Google дает мне более загадочные результаты, как UNIX(7)...
2 ответа
Около UNIX(7)
Чтобы ответить на ваш вопрос о "UNIX(7)", это стандартное соглашение "Man-страница для UNIX в разделе 7 (разное)".
Чтобы открыть страницу, как init(8)
, вы бы использовали эту команду: man 8 init
,
man regex
против man 7 regex
Чтобы ответить на ваш вопрос о "тонких различиях" между man regex
а также man 7 regex
:
man
по умолчанию открывается страница с самым низким номером раздела. В данном случае это раздел 3 (Библиотечные вызовы). Открытие страницы из раздела 7 (Разное) совсем другое.
Страницы в разных разделах относятся к разным вещам, хотя в этом случае они похожи, рассмотрим apt
:
man -f apt
:
apt (8) - Advanced Package Tool
apt (1) - annotation processing tool
В этом примере apt
из раздела 8 (Команды системного администрирования) полностью не связан со страницей из раздела 1 (Исполняемые программы или команды оболочки).
Для дальнейшего использования используйте man -f PAGE_NAME
найти все страницы с этим именем во всех разделах. Затем вы можете открыть страницу из раздела, который вы хотите с man SECTION PAGE_NAME
,
Разделы руководства
Различные разделы страницы являются следующими и могут быть найдены из man man
:
- Исполняемые программы или команды оболочки
- Системные вызовы (функции, предоставляемые ядром)
- Библиотечные вызовы (функции внутри программных библиотек)
- Специальные файлы (обычно находятся в
/dev
)- Форматы файлов и соглашения, например
/etc/passwd
- Игры
- Разное (включая макропакеты и соглашения), например
man(7)
,groff(7)
- Команды системного администрирования (обычно только для root)
- Подпрограммы ядра [нестандартные]
Номера разделов
man
покажет man-страницу из любого раздела, man 7
покажет страницу руководства из раздела 7. Итак, здесь 7 относится к разделу конкретной команды, для которой вы ищете страницу руководства.
Раздел, если таковой имеется, заставит человека взглянуть только на этот раздел руководства.
Разделы
В следующей таблице приведены номера разделов руководства, а также типы страниц, которые они содержат.
1: исполняемые программы или команды оболочки
2: Системные вызовы (функции, предоставляемые ядром)
3: Библиотечные вызовы (функции внутри программных библиотек)
4: Специальные файлы (обычно находятся в / dev)
5: форматы файлов и соглашения, например, / etc / passwd
6: Игры
7: Разное (включая макропакеты и соглашения), например, man (7), groff (7)
8: Команды системного администрирования (обычно только для root). Обзор различных тем, соглашений и протоколов, стандартов набора символов и прочего.
9: подпрограммы ядра [нестандартные]
Команды в более чем одном разделе
В большинстве случаев вы захотите использовать man
команда без доп. Однако в некоторых случаях команда появляется в нескольких разделах. Например, если вы выполните команду man open
, вы получаете man-страницу для openvt из раздела 1. Но если вам нужно увидеть man-страницу для open как команду C (или системный вызов, как в приведенной выше таблице), вам нужно выполнить man 2 open
,
Очень похожий пример будет man printf
а также man 3 printf
, Пожалуйста, введите команды и убедитесь сами в разнице в выводе.
Ваш вопрос man 7 unix
(UNIX, (7))
Итак, UNIX(7) означает, что он принадлежит разделу 7.
Какой раздел будет отображаться по умолчанию, если я не предоставлю номер раздела?
Действие по умолчанию - поиск во всех доступных разделах в предварительно заданном порядке и отображение только первой найденной страницы, даже если страница существует в нескольких разделах.
Как узнать номер раздела команды?
Если вам нужно выяснить, в какие разделы входит термин / команда man -k
(эквивалентно команде apropos). Так, man -k printf
будет искать короткие описания и названия страниц справочника по ключевому слову printf как регулярному выражению. Распечатайте любые совпадения. (Эквивалентно apropos -r printf
). Выполните команду, посмотрите, какую тонну вы получите. Если необходимо избежать совпадений подстрок (например, он покажет sprintf, если вы запустите man -k printf
), так что вам нужно использовать ^term
чтобы ограничить его, как показано ниже,
man -k '^printf'
Printf (3o) - Formatted output functions.
printf (1) - format and print data
printf (3) - formatted output conversion
Связанная команда
Связанная команда apropos
как указано выше, который ищет имена страниц и описания справочной страницы. Если вы не уверены, какую страницу руководства вы ищете, но у вас есть общее представление, используйте эту команду.