Просмотр определенного раздела на страницах руководства в Linux
При поиске использования команды Linux/Unix вам не нужно искать в Google или искать на дискуссионных форумах, вики-страницах, блогах или любых оффлайн/онлайн-ресурсах. Все описано на страницах руководства (сокращенно man-страницах) команды. Вам просто нужно научиться эффективно использовать справочные страницы, чтобы легко и быстро получить подробную информацию о команде или ее параметрах/флагах. Сегодня я поделюсь менее известным трюком со справочной страницей, а именно: как просмотреть определенный раздел справочной страницы в Linux и Unix.
Структура страницы руководства по умолчанию
Страница руководства состоит из нескольких различных разделов, организованных по заголовкам для каждого раздела, например, ИМЯ, ОПИСАНИЕ, КОНФИГУРАЦИЯ, ОПИСАНИЕ, ОПЦИИ, СТАТУС ВЫХОДА, ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ, ОШИБКИ, СРЕДА, ФАЙЛЫ, ВЕРСИИ, СООТВЕТСТВИЕ, ПРИМЕЧАНИЯ, ОШИБКИ, ПРИМЕР, АВТОРЫ, а также СМОТРИТЕ ТАКЖЕ. Каждая страница руководства имеет имя команды, за которым следует номер раздела в скобках.
Вот список номеров разделов руководства с указанием типов содержащихся в них страниц:
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 e.g. /etc/passwd.
6 - Games.
7 - Miscellaneous (including macro packages and conventions), e.g. man(7).
8 - System administration commands (usually only for root).
9 - Kernel routines [Non standard].
На некоторых страницах есть все эти разделы, а на некоторых нет. Теперь давайте посмотрим, как просмотреть определенный раздел страницы руководства команды.
Просмотр определенного раздела на страницах руководства в Linux
Давайте откроем справочную страницу команды, например uname
.
man uname
Прокрутите страницу руководства вниз до конца, и вы увидите ссылки на другие команды.
[...]
SEE ALSO
arch(1), uname(2)
[...]
Справочная страница команды uname
Вы видите все эти цифры, следующие за командами в конце? В конце практически всех страниц руководства по командам вы увидите одну или несколько справочных команд с номерами в скобках. Эти цифры обозначают конкретный раздел страницы руководства команды, который вы хотите просмотреть. Другими словами, номер соответствует тому, из какого раздела руководства взята данная страница.
Чтобы явно указать человеку открыть раздел 2 команды uname
, просто запустите:
man 2 uname
Или,
man uname.2
На следующем снимке экрана в левом окне терминала показаны выходные данные команды «man uname
». В правой части окна терминала показаны выходные данные команды «man 2 uname
» (т. е. раздел 2 uname).
Просмотр определенного раздела на страницах руководства в Linux
Обратите внимание, что когда мы запускаем команду man
без каких-либо чисел, это обычно эквивалентно:
man 1 <command>
Некоторые справочные страницы не имеют определенного раздела. В этом случае вы ничего не получите обратно при попытке просмотреть справочную страницу с номером раздела. Например, я запускаю следующую команду, чтобы увидеть пятый раздел команды uname
:
man 5 uname
Поскольку в команде uname
нет раздела 5, я получаю следующий вывод:
No manual entry for uname in section 5
See 'man 7 undocumented' for help when manual pages are not available.
Показать все разделы подряд
Как я уже сказал, справочная страница конкретной команды состоит из множества разделов. Чтобы просмотреть каждую соответствующую страницу подряд, используйте флаг -a
, как показано ниже.
man -a uname
Нажмите q, чтобы выйти из одного раздела и перейти к следующему.
Показать все команды, соответствующие строке, с номерами разделов
Мы можем искать справочные страницы, содержащие строку поиска, используя флаг -k
. Поэтому, если вы хотите получить все номера разделов конкретной команды на странице руководства, используйте опцию -k
, как показано ниже.
man -k uname
Пример вывода:
arch (1) - print machine hardware name (same as uname -m)
oldolduname (2) - get name and information about current kernel
olduname (2) - get name and information about current kernel
uname (1) - print system information
uname (1posix) - return system name
uname (2) - get name and information about current kernel
Как вы видите в приведенном выше выводе, мы перечислили все команды (то есть подстроки), соответствующие данной строке ключевого слова. Чтобы строго ограничить поиск внутри совпавшей строки, используйте:
man -k '^uname'
Пример вывода:
uname (1) - print system information
uname (1posix) - return system name
uname (2) - get name and information about current kernel
Альтернативно вы можете использовать флаг -f
.
man -f uname
Пример вывода:
uname (1) - print system information
uname (2) - get name and information about current kernel
uname (1posix) - return system name
Более подробную информацию можно найти на страницах руководства «man
».
man man
Также смотрите другие разделы справки для страниц руководства.
man -k man
info man
Рекомендуется к прочтению:
- Хорошие альтернативы man-страницам, которые должен знать каждый пользователь Linux
- Как найти самую длинную справочную страницу в Linux
- Как легко вспомнить забытые команды Linux
- Как создавать и поддерживать собственные справочные страницы
- Как установить отсутствующие man-страницы команд в Ubuntu
- Pinfo — программа CLI для чтения информации и справочных страниц в цвете
Надеюсь это поможет.