Как перейти к определенному флагу в man-странице Unix?


23

Читая man-страницу Unix в терминале, как я могу легко перейти к описанию определенного флага?

Например, мне нужно знать значение -oфлага для mount. Я бегу man mountи хочу прыгнуть к месту, где -oописано. Однако в настоящее время я ищу /-oэту опцию в нескольких местах перед разделом, в котором она описана, поэтому я должен немного попрыгать.

Спасибо.

Ответы:


27

То, что я делаю, это помещаю несколько пробелов перед флагом примерно так:

/     -o

Это не на 100% надежно, но вы прыгаете через гораздо меньше обручей. Если вы хотите еще больше успеха, попробуйте "/^ +-o". Это найдет строки, начинающиеся с пробелов и сопровождаемые -o. Я бы не хотел часто вводить эту странную строку.


11

Я определил эту функцию в моем .bashrc

function manswitch () { man $1 | less -p "^ +$2"; }

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

manswitch grep -r

Я получил это из этой командной строки .

Примечание. Аргументом для параметра -pswitch lessявляется регулярное выражение, указывающее меньше искать строку, начинающуюся с ( ^) одного или нескольких пробелов ( +), за которыми следует ключ (второе аргумент. So $2), поэтому он имеет преимущество работы с другим форматированием.


5

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

man -P 'less -p "     -o"' mount

Голосовали за то, что это возможно, но это гораздо больше, чем печатать, чем искать внутри человека. Спасибо хоть!
dotancohen

Очень полезно отправить кого-то в точное место на странице руководства :)
Раш

Да, я просто думал, что если бы мне пришлось по какой-то причине открыть страницу руководства в скрипте, это также было бы полезно. Спасибо!
dotancohen

3

Ответ @ piccobello отличный, но он жрал цвета на моих страницах руководства. Вместо того, чтобы передавать по трубопроводу less(поскольку обычно по умолчанию manуже используется less), я просто передаю измененную lessкоманду man:

function manswitch() { man -P "less -p \"^ +$2\"" $1 }

Это сохраняет функциональность @piccobello в его функции, но сохраняет цвета.


1

Другие решения довольно хороши, но помните, что справочные страницы - это просто данные, и вы можете легко делать с ними почти все в Linux.

man some-command> file.txt

преобразует страницу в простой текстовый файл, которым вы можете манипулировать. Я храню копию руководства по bash в виде текста в своем каталоге bin, поэтому я могу просто загрузить ее в свой текстовый редактор для поиска вещей, а также копировать и вставлять во время редактирования сценариев.

Или вы можете передать это в фильтры, такие как

man some-command | grep -A строки-после "некоторого шаблона"

Хотя это не работает для вас в терминале, я (с помощью друга) даже написал скрипт, который захватывает страницу руководства и отображает ее в веб-браузере, чтобы я мог использовать ее функции навигации / поиска, которые намного лучше чем меньше. Это немного зависит от KDE, но легко изменить.

http://dl.dropbox.com/u/54584985/kman


3
Возможно, вы захотите попробовать man://в Konqueror. KDE имеет справочную страницу KIOSLAVE!
Dotancohen

@dotancohen - Круто. Не знал об этом.
Джо

@dotancohen -Я только что попробовал это на дельфине, и это тоже работает, но отображает справочные страницы в виде каталогов и файлов и запускает браузер по умолчанию при нажатии на файл. Я не понимаю часть о KIOSLAVE. Я пробовал man: // kioslave, и он был таким же, как man: //.
Джо

@dotancohen - Неважно - я посмотрел киославов в Википедии. en.wikipedia.org/wiki/KIO
Джо,

Да, в KDE есть почти все. Наслаждайтесь!
dotancohen

1

Я написал инструмент, который делает именно это, называется флагман . Все еще в разработке, но уже годен к употреблению. Например:

$ ./flagman mount -o
       -o, --options opts
              Use the specified mount options.  The opts argument is a comma-separated list.  For example:

                     mount LABEL=mydisk -o noatime,nodev,nosuid


              For more details, see the FILESYSTEM-INDEPENDENT MOUNT OPTIONS and FILESYSTEM-SPECIFIC MOUNT OPTIONS sections.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.