21

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

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

Благодарю.

6 ответов6

25

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

/     -o

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

10

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

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

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

manswitch grep -r

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

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

5

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

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

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

man some-command> file.txt

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

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

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

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

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

1

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

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

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

1

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

$ ./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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .