it-swarm-ru.tech

Трюки и советы по поиску информации на страницах руководства

У кого-нибудь есть хитрости и советы по поиску информации на страницах руководства?

82
Casebash

Обратите внимание на номер раздела: предположим, вам нужна помощь по printf. их как минимум два: в Shell и в C. bash-версия printf находится в разделе 1, версия C - в разделе 3 или 3C. Если вы не знаете, какой из них вам нужен, введите man -a printf, И все справочные страницы будут отображены.

Если вам нужен формат printf со всеми кодами%, и он не отображается на справочной странице printf, вы можете перейти к соответствующим справочным страницам, перечисленным в разделе "СМОТРИ ТАКЖЕ". Вы можете найти что-то вроде formats(5), которая предлагает вам набрать man 5 formats.

Если вас раздражает, что man printf Дает вам printf (1) и все, что вам нужно, это printf (3), вам нужно изменить порядок сканированных каталогов в переменной среды MANPATH и ​​поместить их для языка Си, прежде чем для команд Shell. Это может также произойти, если страницы руководства Fortran или TCL/Tk перечислены перед буквой C.

Если вы не знаете, с чего начать, введите man intro Или man -s <section> intro. Это дает вам сводку команд запрошенного раздела.

Разделы хорошо определены:

  • 1 для команд оболочки,
  • 2 для системных вызовов,
  • 3 для программирования интерфейсов (иногда 3C для C, 3F для Fortran ...)
  • 5 для форматов файлов и других правил, таких как форматы printf или regex.

И последнее, но не менее важное: информация, предоставляемая на страницах руководства, не является избыточной, поэтому внимательно читайте от начала до конца, чтобы увеличить свои шансы найти то, что вам нужно.

51
mouviciel

Введите косую черту /, а затем введите строку для поиска. Затем продолжайте нажимать n, чтобы перейти к следующему элементу

58
Alexander Pogrebnyak

man -k поиск

Это даст вам список всех справочных страниц, которые относятся к "поиску".

37
Kristof Provost

Как говорит @Steven D, не забывайте страницы info.

Кроме того, не пугайтесь страниц info. Я знаю много людей, которые не используют информационные страницы из-за встроенной навигационной системы. Мое любимое решение - передать информационные страницы через less:

info gpg |less

Таким образом, я могу перемещаться по страницам info, используя мой любимый пейджер. Страницы info теперь будут вести себя так же, как страницы man.

20
Stefan Lasiewski

Утилита apropos очень удобна для поиска подходящей man-страницы.

18
Hank Gay

Пейджером по умолчанию для чтения справочной страницы является less. Есть документация по lessздесь .

В частности:

  • Прокрутить вверх/вниз на одну страницу: b / space
  • Прокрутите вверх/вниз на половину страницы: u / d
  • Поиск вперед/назад: / / ?, затем введите регулярное выражение,
    • затем нажмите n перейти к следующему матчу или
    • shiftN перейти к предыдущему матчу.
    • Если страница покрыта неинтересными совпадениями, нажмите space перейти на следующую страницу.
  • Добавить @ перед регулярным выражением для поиска с самого начала.
16
Casebash

Всегда проверяйте, что находится в разделе СМОТРИ ТАКЖЕ. Команды, показанные в этом разделе на странице info, можно выбрать, поместив курсор на нужную команду и нажав клавишу ввода. Часто я нахожу другие полезные команды или функции таким образом.

8
Neth

Если вам удобнее работать с вашим редактором, чем с пейджером по умолчанию, вы можете установить MANPAGER в своей среде. Например, у меня есть эта строка в моем ~/.bashrc:

export MANPAGER="col -b | vim -c 'set ft=man nomod nolist ignorecase' -"
7
Rob Hoelz

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

Посмотрите на прикрепленный скриншот, текст выглядит очень хорошо, не так ли?

most pager

4
dr.

В Linux man вы можете сделать man -K string (обратите внимание на верхний регистр K), чтобы выполнить поиск грубой силы по данному термину

   -K, --global-apropos
          Search for text in all manual  pages.   This  is  a  brute-force
          search,  and is likely to take some time; if you can, you should
          specify a section to reduce the number of pages that need to  be
          searched.   Search terms may be simple strings (the default), or
          regular expressions if the --regex option is used.

очень полезно, когда вы не знаете, где искать.

4
enzotib

Не игнорируйте страницы info. Многие GNU инструменты имеют гораздо более обширные информационные страницы, чем справочные страницы. Часто в разделе СМ. ТАКЖЕ будет сказано: "Полная документация для foo поддерживается как руководство Texinfo. "Это особенно верно для всего, что есть в пакете GNU coreutils).

Кроме того, если вы являетесь пользователем emacs, не забывайте, что вы можете читать информацию и справочные страницы, не покидая своего редактора: M-x info а также M-x woman.

3
Steven D

Для тех более длинных и сложных man-страниц мне намного легче читать их с компьютера (странно, я знаю), и поэтому у меня есть эти функции в моем .bashrc

# Print man pages 
manp() { man -t "[email protected]" | lpr -pPrinter; }

# Create pdf of man page - requires ghostscript and mimeinfo
manpdf() { man -t "[email protected]" | ps2pdf - /tmp/manpdf_$1.pdf && \
    xdg-open /tmp/manpdf_$1.pdf ;}
3
jasonwryan

От Кристофа ответ, если вы (то есть) напечатаете man -k chmod вы получите список возможностей. Обратите внимание на число в скобках, это означает раздел, который нужно искать на страницах справочника:

В UNIX вы можете попробовать:

man -s1 chmod он покажет страницу руководства для команды chmod

man -s2 chmod он покажет страницу руководства для функции C lib chmod ()

В Linux вы должны изменить -s за -S

2
jyz

Аналогично, но немного отличается от ответа Роба Хольца,

Добавьте следующее в ваш ~/.vimrc:

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

Теперь vimman отличный просмотрщик man-страниц, и :Man изнутри Vim (или просто нажимая K по ключевому слову) - отличный браузер man-страниц.

2
ephemient

Просмотр справочных страниц в удобном графическом приложении:

konqueror man:(command)

Для оглавления верхнего уровня:

konqueror man:

Особенности:

  • Если вы введете команду, у которой есть совпадение в нескольких разделах, вы попадете на страницу устранения неоднозначности
  • Это графическое приложение, поэтому вам не нужно запоминать загадочные последовательности клавиш для навигации по странице.
  • Включает гиперссылки на связанные страницы (в том числе "смотрите также")
  • Вы можете открыть связанные страницы в отдельных вкладках
2
nobar

Даюм, люди! Что с запутанными ответами ?! Что случилось с простотой, являющейся ключом к блеску, а что нет? Большинство ваших клавиш vi/vim будут работать плавно:

/ Или ? - Поиск вперед или назад (как уже упоминали некоторые ребята). В первом случае строчная буква n будет прокручивать матчи вперед, заглавная буква N - назад. Для последнего верно обратное - знак вопроса.

Чуть более сложные поиски через регулярные выражения. Разница между man (или less) и VIM) заключается в том, что вы должны использовать символ escape () для объявления метасимволов в выражении при использовании последнего Хорошей новостью является то, что когда вы используете первый (man или less) - не так уж много. Таким образом, вы можете легко использовать это при поиске, например, iptables man-страница для нескольких терминов, например: /(iptables|rules). Если вы не знакомы с регулярными выражениями, это означает "Поиск примеров слов iptables OR"). = rules ". После ввода и продолжения нажатия n вы будете прокручивать чередующиеся результаты поиска, причем результаты будут приятно выделены для вас разными цветами (на самом деле два. Ха-ха). Если вы пытаясь пролистать страницу и сконцентрироваться на конкретных терминах или понятиях - вы не пропустите ничего!

И, конечно же, для более быстрой навигации ваши обычные vi резервные копии все еще остаются (без каламбура): gg или G - начало/конец документа; (Исправление! В man вы можете использовать все перечисленные ниже клавиши, не используя Ctrl. Это только для vi). Ctrl + u or d - прокрутка вверх или вниз; Ctrl + b or f - То же самое, только большими прыжками. "Страница назад или вперед"; e или y - прокрутка одной строкой, но я думаю, что большинство людей предпочитают просто использовать клавиши со стрелками. Однако, если вы хотите остаться "1337" и "никогда не покидать домашний скандал" (как я делаю, смеется) - это путь.

Я пытаюсь сказать, что в UNIX есть два основных варианта программ управления клавиатурой, которые являются частью библиотеки readline: vi и emacs. Подберите свои отбивные в одном (но, предпочтительно, в обоих), и это сделает вашу жизнь намного менее сложной. Большинство программ CLI в UNIX используют любую из них. BASH по умолчанию использует элементы управления emacs, но его можно легко установить в "режим vi", набрав set -o vi. То же самое можно сказать и о регулярных выражениях, но это будет не по теме. Я бы даже сказал, что оба они являются "языком общения" UNIX.

2
Max

Чтобы эффективно искать односимвольный переключатель, например -u, вы часто можете использовать:

/^ *-u($|\s)

Экономит много времени, если многие опции имеют префикс -u.

1
matt

Большинство из нас устанавливают переменную PATH. Это покажет вам, как автоматически сделать так, чтобы путь поиска человека соответствовал вашему пути поиска PATH.

Допустим, вы добавляете свой путь, чтобы включить ваши личные, специфичные для работы и локально установленные утилиты, такие как export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:. В качестве побочного эффекта man foo не будет отображать man-страницы, хранящиеся в ~/man,/workgroup/man или/opt/local/man.

Чтобы решить эту проблему, я использую команду manpath для автоматической установки пути поиска на странице man. Например, мой ~/.bashrc имеет следующее. Это работает для меня на сотне разных систем, работающих под управлением FreeBSD 4.x, Darwin и CentOS 5:

### PATH & MANPATH
# My personal utilities
export PATH=$PATH:$HOME/bin

### Set the manpath based on the PATH, after man(1) parses man.conf
# - No need to modify man.conf or manually modify MANPATH_MAP
# - Works on Linux, FreeBSD & Darwin, unlike /etc/manpaths.d/
# See "SEARCH PATH FOR MANUAL PAGES" in man(1)
# Just set the man search path. Don't print output to screeen.
manpath >/dev/null

Некоторые системы (например, Apple Leopard) устанавливают MANPATH автоматически, но это означает, что ваша система будет использовать переменную MANPATH вместо использования manpath. В результате страницы man для ' MacPorts (/ opt/local/man) игнорируются. Я хочу контролировать это сам, поэтому я сбросил MANPATH:

unset MANPATH
manpath >/dev/null
1
Stefan Lasiewski

man -a printf просто по умолчанию man 1 на моей машине Linux Mint. whatis printf дает мне соответствующую информацию.

1
stu

Если вы ищете информацию о встроенном bash (например, time, disown, set или [[), вместо того, чтобы пробираться по подробной странице bash info или man bash, вы можете ввести help {builtin-keyword} и ​​быстро получить основную информацию о синтаксисе.

1
LawrenceC

Я просто использую grep. Если бы мне было интересно, что -s опция команды read сделала, я бы попробовал эти команды по порядку, пока не получу ответ:

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

В этом случае только команда info дала четкий ответ. Это отличный ответ дает подробную информацию о различных справочных системах.

1
Cees Timmerman

Если вас раздражает, что man printf дает вам printf (1) и все, что вам нужно, это printf (3), вы можете сказать man, что вы хотите printf из раздела 3, поместив этот раздел перед printf, например так: man 3 printf, без необходимости изменять порядок сканируемых каталогов в переменной среды MANPATH и ставить те для языка C перед тем для команд Shell.

1
Li Lo

И для тех людей, которые любят читать страницы man и info на сенсорном экране, вы можете передать man/info в yad или zenity и использовать все gtk3 лакомства, такие как нативная прокрутка пальцев. Также отлично работает с refular экраном и мышью:

man cat |yad --text-info 

Вы также можете использовать zenity или добавить такие опции, как:

man cat |yad --text-info --height=500 --width=800 --center --wrap --show-uri --no-markup &

Подсказка: by show uri yoh может щелкать мышью/пальцем веб-ссылки на страницах руководства.

0
George Vasiliou

enter image description here Если вам трудно читать справочные страницы из-за всего текста белого цвета, вы можете раскрасить их. Большинство man-страниц открываются с помощью less. Для less я использую следующие настройки цвета в .bashrc из здесь :

man() {
    LESS_TERMCAP_md=$'\e[01;31m' \red
    LESS_TERMCAP_me=$'\e[0m' \
    LESS_TERMCAP_se=$'\e[0m' \
    LESS_TERMCAP_so=$'\e[01;44;33m' \yellow on blue
    LESS_TERMCAP_ue=$'\e[0m' \
    LESS_TERMCAP_us=$'\e[01;32m' \green
    command man "[email protected]"
}

Это для bash и zsh. Для most, fish, xterm и ​​rxvt см. Ссылку выше.

Для дальнейшего чтения:

0
vikram99

Команда apropos (1) используется для поиска справочных страниц. Однако большинство реализаций apropos (1) просто выполняют поиск в разделе NAME, что очень ограничивает.

NetBSD имеет реализацию apropos (1) для полнотекстового поиска, которая способна выполнять поиск по всему содержимому справочных страниц. Для этого также есть веб-интерфейс: man-k.org , который вы можете попробовать.

0
Abhinav Upadhyay