В чем разница между `man` и` man (#) `?

Только что увидел кого-то, ссылающегося на man 7 regex в Stackoverflow. Я попробовал man regex и получил очень похожие результаты - похоже, есть небольшие различия.

Так что же это за магическое число 7? Поиск man 7 unix в Google дает мне более загадочные результаты, такие как UNIX (7) ...

31
задан 7 January 2014 в 01:44

2 ответа

О UNIX (7)

Чтобы ответить на ваш вопрос о «UNIX (7)», это стандартное соглашение: «Страница руководства для UNIX в разделе 7 (разное ) ".

Чтобы открыть страницу типа init (8) , вы должны использовать эту команду: man 8 init .


man regex vs 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. РАЗДЕЛ PAGE_NAME .

Разделы справочной страницы

Ниже перечислены различные разделы страницы, которые можно найти в man man :

  1. Исполняемые программы или команды оболочки
  2. Системные вызовы (функции, предоставляемые ядром)
  3. Вызовы библиотек (функции в программных библиотеках)
  4. Специальные файлы (обычно находятся в / dev )
  5. Форматы файлов и соглашения, например / etc / passwd
  6. Игры
  7. Разное (включая пакеты макросов и соглашения), например man (7) , groff (7)
  8. Команды системного администрирования (обычно только для root)
  9. Подпрограммы ядра [Нестандартные]
33
ответ дан 7 January 2014 в 01:44

Номера разделов

man будут отображать справочную страницу из любого раздела, man 7 покажет справочную страницу из раздела 7. Итак, здесь 7 относится к раздел конкретной команды, для которой вы ищете страницу руководства.

Раздел, если он предусмотрен, направляет человека на поиск только в этом разделе руководство.


Разделы

См. следующую таблицу, где указаны номера разделов руководства, за которыми следуют типы страниц, которые они содержат.

1: Исполняемые программы или команды оболочки

2: Системные вызовы (функции, предоставляемые ядром)

3: Вызовы библиотек (функции внутри программных библиотек)

4: Специальные файлы (обычно находится в / dev)

5: Форматы файлов и соглашения, например / etc / passwd

6: Игры

7: Разное (включая пакеты макросов и соглашения), например man (7), groff (7)

8: Команды системного администрирования (обычно только для root). Обзоры различных тем, соглашений и протоколов, стандарты набора символов и разное другое.

9: Подпрограммы ядра [Нестандартные]


Команды в нескольких секциях

В большинстве случаев вам может понадобиться использовать man команда без дополнительных n . Однако в некоторых случаях команда появляется более чем в одном разделе. Например, если вы введете команду man open , вы получите справочную страницу для openvt из раздела 1. Но если вам нужно увидеть справочную страницу для open как C (или системный вызов, как указано выше table) необходимо выполнить команду 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 , как указано выше, выполняет поиск по именам и описаниям справочных страниц. Если вы не уверены, какую страницу руководства ищете, но имеете общее представление, используйте эту команду.

14
ответ дан 7 January 2014 в 01:44

Другие вопросы по тегам:

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