Список всех доступных справочных страниц


Ответы:


44

Использование:

apropos .

или:

man -k .

где .регулярное выражение, которое означает: «любой символ».


3
Также удобно: например, apropos -s 1 .ограничить его разделом 1 (пользовательские команды).
Приостановлено до дальнейшего уведомления.

Я собирался предложить посмотреть, как bash и zsh обеспечивают завершение, но это намного проще (хотя и менее переносимо, поскольку не все системы принимают регулярное выражение в качестве аргумента apropos).
Жиль "ТАК - прекрати быть злым"

ни один из тех, кто работает в Cygwin для меня
Wyatt8740

9
$ man -k . -s <section-NR>

Например, чтобы показать все раздел 2 страницы:

$ man -k . -s 2

Я надеялся, man 2 -k '.'что это сработает. Но это не так
Анкур Агарвал

Попробуйте еще раз и укажите раздел после опции -k, как указано выше ...
Аарон

Этот ответ определенно более полезен
Люциус Ху

Указание номера раздела не работает для меня.
OregonTrail

3

Вот мой любимый:

whatis -r .

... и если вы просто хотите увидеть все справочные страницы в определенном разделе, используйте -sфлаг.

Например, если вы просто хотите получить список всех man-страниц для всех исполняемых команд (раздел 1):

whatis -s 1 -r .

2
# Shell script to list pathname of all available man pages  
mandirs="\`man -w | sed 's/:/ /g'\`"  
find $mandirs -type f  

В результате получается список всех файлов man, использующий список каталогов man, созданный командой "man -w", однако решение cYrus для любого символа-выражения намного лучше, хотя и с помощью awk можно получить чистый список только страницы. имена:

apropos . | awk '{print $1}'

или

man -k . | awk '{print $1}'

1
Таким образом вы потеряете раздел man и создадите дубликаты. Для последней трубы через sort -u.
cYrus

@cYrus или просто измени его, чтобы man -k . | awk '{print $1,$2}'сохранить раздел
villapx

0

Посмотрите пути, перечисленные в /etc/man.config, с дополнительными каталогами, добавленными директивой FHSили, FSSTNDв зависимости от ситуации.


А потом? Я думаю, что лучше читать пути из переменной MANPATH. Но это ужасно, потому что существует огромное количество подкаталогов, и он содержит различные расширения файлов, такие как 1 или gz. Кстати, многие системы не имеют man.config в / etc
psihodelia

1
@psihodelia: В моей системе это /etc/manpath.configи $MANPATHявляется нулевым.
Приостановлено до дальнейшего уведомления.

0

На macOS вы можете использовать

man -k .

или

apropos .

или

whatis .

Однако в macOS команды man -k, aproposи whatisне поддерживают фильтрацию по разделам.

Таким образом, вы можете использовать следующий конвейер, чтобы сделать это

man -k . | grep \(1\) | less

Вы можете заменить 1на ручной раздел по вашему выбору.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.