Иногда я хочу знать, что означает конкретный флаг. Например:
man apache2: (...) -L Output a list of directives together with expected arguments and places where the directive is valid.
Так есть ли способ использовать что-то вроде «man apache2 -L», и он говорит мне только то, что означает -L? Было бы здорово, так что сэкономьте на просмотре руководства.
Нет, не так, как ты хочешь. Но знаете ли вы, что вы можете искать внутри man
? Большинство систем используют less
как браузер человек, поэтому вы можете искать с /
команда (нажмите h
для получения дополнительной помощи). Если вы ищете определенный переключатель, вы можете использовать тот факт, что они отформатированы с отступом в начале строки большую часть времени и использовать регулярное выражение:
^[ \t]+-link
будет искать строку -link
как первый непробельный символ строки. Таким образом, вы, скорее всего, найдете фактическое объяснение переключателя, а не возможные ссылки в других разделах.
Если ваша версия man
использует less
в качестве пейджера вы можете использовать эту функцию Bash для перехода непосредственно к первому вхождению данной строки в man
страница:
mans () { local pages string; if [[ -n $2 ]]; then pages=(${@:2}); string="$1"; else pages=$1; fi; man ${2:+--pager="less -p \"$string\""} ${pages[@]}; }
Использование:
mans '-E' grep
Вы можете перейти к определенному разделу серии страниц:
mans DESCRIPTION grep sed awk
Когда вы нажимаете q затем Войти выйти из одного man
страницу и переходите к следующей, поиск будет производиться и на ней.
я бегу man commandname
и использовать /
чтобы ввести строку поиска, как в вашем примере -L
.