2

В Linux (или любой другой ОС, использующей инструмент man), обычно есть несколько разделов руководства. Часто данная запись (например, echo или printf) существует в нескольких разделах, но не во всех. Есть ли простой способ проверить, в каких разделах руководства находится эта запись?

Очевидно, что можно попробовать man [section] [entry] и просто просмотреть все разделы руководства, но, честно говоря, я даже не уверен, что такое полный список разделов (или как найти его окончательно), и я ' ищу что-то чуть менее грубое.

2 ответа2

3

Они работают с man , работающим с FreeBSD, с man из дистрибутивов Linux и тому подобным Debian Hurd, и даже с man Cygwin:

man -a -f ${entry}

или, более загадочно, но, возможно, более полезно в сценариях оболочки,

man -a -w ${entry}

Конечно, ваша база данных whatis должна быть правильно заполнена. С Cygwin этого не происходит "из коробки", в отличие от FreeBSD, Debian и тому подобного. Нужно бежать так, как makewhatis .

1

Попробуйте whatis (например, whatis printf). Разделы человека не случайны. Смотрите википедию: справочную страницу. Например, раздел 2 содержит только системные вызовы, а раздел 3 содержит только вызовы библиотеки C. Существует версия printf для использования в командной строке, поэтому она находится в разделе 1. Но есть и один в библиотеке C, так что он находится в разделе 3.

Сначала вам нужно будет создать базу данных whatis с помощью команды makewhatis -w (в Cygwin она находится в /usr /sbin).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .