Como encontrar informações necessárias no homem [duplicado]

11

O comando man traz um bom manual para muitos programas, mas como posso usá-lo de forma mais eficaz? Por exemplo, man gcc traz:

NAME
       gcc - GNU project C and C++ compiler

SYNOPSIS
       gcc [-c|-S|-E] [-std=standard]
           [-g] [-pg] [-Olevel]
           [-Wwarn...] [-Wpedantic]
           [-Idir...] [-Ldir...]
           [-Dmacro[=defn]...] [-Umacro]
           [-foption...] [-mmachine-option...]
           [-o outfile] [@file] infile...

       Only the most useful options are listed here; see below for the
       remainder.  g++ accepts mostly the same options as gcc.
....
many text

Mas e se eu precisar de apenas uma parte disso? Qual é a melhor maneira de pular para a seção em que -Idir é descrito, por exemplo?

    
por vico 07.01.2018 / 08:37

4 respostas

13

Pesquise a página man pressionando / e a string de pesquisa

man está usando o visualizador less por padrão. Você pode pesquisar em less pressionando / (barra) e, em seguida, adicionar a string de pesquisa, no seu exemplo -Idir

GCC(1)                                GNU                               GCC(1)

NAME
       gcc - GNU project C and C++ compiler

SYNOPSIS
       gcc [-c|-S|-E] [-std=standard]
           [-g] [-pg] [-Olevel]
           [-Wwarn...] [-Wpedantic]
           [-Idir...] [-Ldir...]
           [-Dmacro[=defn]...] [-Umacro]
           [-foption...] [-mmachine-option...]
           [-o outfile] [@file] infile...

       Only the most useful options are listed here; see below for the
       remainder.  g++ accepts mostly the same options as gcc.

DESCRIPTION
       When you invoke GCC, it normally does preprocessing, compilation,
       assembly and linking.  The "overall options" allow you to stop this
       process at an intermediate stage.  For example, the -c option says not
       to run the linker.  Then the output consists of object files output by
       the assembler.

/-Idir

Pressione a tecla Enter e obtenha a primeira correspondência.

Pressione / (barra) e a tecla Enter novamente, repita até encontrar a seção desejada. Você também pode pressionar n para a próxima partida.

       -Idir
           Add the directory dir to the head of the list of directories to be
           searched for header files.  This can be used to override a system
           header file, substituting your own version, since these directories
           are searched before the system header file directories.  However,
           you should not use this option to add directories that contain
           vendor-supplied system header files (use -isystem for that).  If
           you use more than one -I option, the directories are scanned in
           left-to-right order; the standard system directories come after.

           If a standard system include directory, or a directory specified
           with -isystem, is also specified with -I, the -I option is ignored.
           The directory is still searched but as a system directory at its
           normal position in the system include chain.  This is to ensure
           that GCC's procedure to fix buggy system headers and the ordering
           for the "include_next" directive are not inadvertently changed.  If
           you really need to change the search order for system directories,
           use the -nostdinc and/or -isystem options.

       -iplugindir=dir
           Set the directory to search for plugins that are passed by
           -fplugin=name instead of -fplugin=path/name.so.  This option is not
           meant to be used by the user, but only passed by the driver.

 Manual page gcc(1) line 10179 (press h for help or q to quit)

Pressionar h oferece uma boa visão geral dos comandos disponíveis.

                   SUMMARY OF LESS COMMANDS

      Commands marked with * may be preceded by a number, N.
      Notes in parentheses indicate the behavior if N is given.
      A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K.

  h  H                 Display this help.
  q  :q  Q  :Q  ZZ     Exit.
 ---------------------------------------------------------------------------

                           MOVING

  e  ^E  j  ^N  CR  *  Forward  one line   (or N lines).
  y  ^Y  k  ^K  ^P  *  Backward one line   (or N lines).
  f  ^F  ^V  SPACE  *  Forward  one window (or N lines).
  b  ^B  ESC-v      *  Backward one window (or N lines).
  z                 *  Forward  one window (and set window to N).
  w                 *  Backward one window (and set window to N).
  ESC-SPACE         *  Forward  one window, but don't stop at end-of-file.
  d  ^D             *  Forward  one half-window (and set half-window to N).
  u  ^U             *  Backward one half-window (and set half-window to N).
  ESC-)  RightArrow *  Left  one half screen width (or N positions).
  ESC-(  LeftArrow  *  Right one half screen width (or N positions).
  F                    Forward forever; like "tail -f".
  ESC-F                Like F but stop when search pattern is found.
  r  ^R  ^L            Repaint screen.
  R                    Repaint screen, discarding buffered input.
        ---------------------------------------------------
        Default "window" is the screen height.
        Default "half-window" is half of the screen height.
 ---------------------------------------------------------------------------

                          SEARCHING

  /pattern          *  Search forward for (N-th) matching line.
  ?pattern          *  Search backward for (N-th) matching line.
  n                 *  Repeat previous search (for N-th occurrence).
  N                 *  Repeat previous search in reverse direction.
  ESC-n             *  Repeat previous search, spanning files.
  ESC-N             *  Repeat previous search, reverse dir. & spanning files.
  ESC-u                Undo (toggle) search highlighting.
  &pattern          *  Display only matching lines
        ---------------------------------------------------
        A search pattern may be preceded by one or more of:
        ^N or !  Search for NON-matching lines.
        ^E or *  Search multiple files (pass thru END OF FILE).
        ^F or @  Start search at FIRST file (for /) or last file (for ?).
        ^K       Highlight matches, but don't move (KEEP position).
        ^R       Don't use REGULAR EXPRESSIONS.
 ---------------------------------------------------------------------------
HELP -- Press RETURN for more, or q when done

Você encontra mais detalhes sobre "ferramentas de ajuda" no link a seguir

Como posso obter ajuda sobre os comandos do terminal?

    
por sudodus 07.01.2018 / 08:56
3

Não é possível melhorar Resposta do Wildcard quando fiz a mesma pergunta no Unix & amp; Linux Q & amp; A.

% bl0ck_qu0te%     
por karel 07.01.2018 / 09:00
2

Eu gostaria de responder da maneira mais simples.

Depois de abrir a página de manual do pacote usando man <package> , você pode usar o utilitário de pesquisa para encontrar os detalhes de opções específicas usando /<option> , por exemplo, para verificar os detalhes da opção -r, use /-r . / p>     

por MIB 07.01.2018 / 14:57
2

Quando você visualizar páginas de manual e pesquisar pressionando / , less estará realmente tratando seu padrão de pesquisa como expressão regular . Ao pesquisar por opções de linha de comando, considero muito útil adicionar \b a elas, o que corresponde a um limite de palavras . Isso geralmente ignora muitos textos que seriam caso contrário, corresponde, mas não é o que eu estou procurando (ou que é, em qualquer caso, não o que eu quero ler primeiro).

Por exemplo, para pesquisar a opção -I , você pode digitar:

/-I\b
  • O caractere / informa less que você deseja pesquisar, como outros já mencionaram (consulte a resposta da MIB ) . Você escreveria ? em vez de / se quisesse que sua pesquisa fosse para cima na manpage em vez de para baixo.
  • -I é o texto literal que você está procurando.
  • \b corresponde ao limite entre um caractere de palavra ( A-Z , a-z ou _ ) e um caractere não de palavra, ou entre um caractere de palavra e o próprio começo ou fim do texto em que ocorre.

Talvez você ainda precise encontrar correspondências subsequentes. Para fazer isso, pressione n . Para voltar aos resultados anteriores, pressione Shift + n .

No caso de pesquisar -I na% man_de% manpage, por exemplo, descobri que gcc foi correspondido seis vezes antes da correspondência que eu estava procurando onde a opção -I estava realmente documentada. Em contraste, -I foi correspondido apenas uma vez antes dessa partida.

Se preferir, você pode usar -I\b em vez de \> . \b corresponde apenas ao final de uma palavra (em que uma "palavra" é um ou mais caracteres de palavra, conforme definido acima). Se você quisesse combinar o início de uma palavra, você poderia usar \> . Observe, no entanto, que não funciona escrever algo como \< para corresponder à opção \<-I , porque -I não corresponderia ao espaço em branco seguido por \< .

    
por Eliah Kagan 07.01.2018 / 16:58