Пока речь пойдёт про алиасы (alias) для man. Потом, может быть, что-то будет дополнено.
MAN
Часто возникает вопрос: “man чаво?”. Кроме того, интересные программистам документы, обычно, находятся в секциях 2 (системные вызовы), 3 (библиотечные вызовы) и 7 (стандарты, соглашения, обзоры). По назначению других секций можете спрашивать: man # intro
где #
- номер секции от 1 до 7.
В общем родилось три алиаса: для обращения и для поиска.
Для использование, код ниже поместить в ~/.bashrc
alias man-prog='man -s 2,3,7'
alias man-prog-search='man -s 2,3,7 -K'
alias man-prog-apropos='man -s 2,3,7 -k'
Первый - просто ограничивает область поиска и по man-prog printf
выведет не описание команды, а описание функции.
Второй - обеспечивает полнотекстовый поиск по страницам, третий - по индексу (apropos). В чём разница. Поясню на примере:
$ man-prog-apropos tcp
clnttcp_create (3) - library routines for remote procedure calls
clock_getcpuclockid (3) - obtain ID of a process CPU-time clock
getcpu (2) - determine CPU and NUMA node on which the calling thread is running
pthread_getcpuclockid (3) - retrieve ID of a thread's CPU time clock
QwtCPointerData (3) - (неизвестный объект)
sched_getcpu (3) - determine CPU on which the calling thread is running
svctcp_create (3) - library routines for remote procedure calls
tcp (7) - TCP protocol
zmq_tcp (7) - 0MQ unicast transport using TCP
Вроде всё хорошо. Дальше:
$ man-prog-apropos TCP_CORK
TCP_CORK: ничего подходящего не найдено.
Оппа… В гуголь лезть? А если так:
$ man-prog-search TCP_CORK
--Man-- след: sendfile(2) [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]
--Man-- след: sendfile64(2) [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]
--Man-- след: sendmsg(2) [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]
--Man-- след: sendto(2) [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]
--Man-- след: splice(2) [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]
--Man-- след: tcp(7) [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]
в man 7 tcp
мы найдём искомое описание.