Como verifico as páginas de manual para saber qual parâmetro único do comando faz?

12

Exemplo: Estou usando o tar -zxvfcomando, mas não sei o que 'x' significa.

Como posso verificar esse parâmetro único sem ter que rolar todo o caminho man tar?

sintagma
fonte
Por favor, verifique este [tópico] [1] no superuser.com. [1]: superuser.com/questions/441654/…
Einar

Respostas:

17

Procurar

xé para extract.

Depois de entrar no man, digite /-xenterpara pesquisar informações sobre o parâmetro -x,
pressione npara pular para a próxima correspondência -x e Npara a anterior

Pesquisa com Regex

Para páginas de manual grandes ou termos comuns, um pouco de regex pode ser usado para restringir a pesquisa.

Se você deseja apenas a entrada principal, pode usar /^ *-xpara remover a maioria das correspondências estranhas.
Isso funciona porque a maioria das páginas de manual é formatada com a entrada recuada com espaços.

  • ^ * corresponde ao início da linha, com zero a muitos espaços.
  • -x é a string de pesquisa.
fromnaboo
fonte
7

Você também pode greptirá-lo da página de manual com algum contexto:

man tar | grep -C5 -- '-x\b'
Thor
fonte
5

Isso funciona no RHEL6 com o Bash

Dentro .bashrc

adicionar

function mans {
       man $1 | less -p "^ +$2"
}

iniciar uma nova instância do bash

$ bash

agora

mans ls -l

tem o efeito desejado.

Einar
fonte
2

Se você usa o Emacs M-x man RET tar, então C-s -x.

Bata C-srepetidamente até chegar ao lugar certo e depois pressione return.

C-ré o mesmo, mas ao contrário. (Mas ambos serão agrupados em uma batida dupla na parte superior / inferior do documento.)

Além disso, em casos como este (pesquisa na página de manual), é preferível a pesquisa com distinção entre maiúsculas e minúsculas . Examine a case-fold-searchvariável.

A enorme vantagem de usar seu editor para visualizar as páginas de manual é que você conhece todos os comandos tão bem - navegação, cópia, tudo que você gostaria de fazer, você já sabe.

Emanuel Berg
fonte
0

Eu sei que é uma pergunta um pouco antiga, desculpe por reviver, mas eu escrevi esse shell script simples que você pode usar:

function manopt() {
    mn=`man -P cat $1`
    for i in ${@:2}
    do
        echo $mn |  grep --color=always -A5 "^ *$i" | sed -En '/^$/q;p'
    done
}

Use-o por exemplo como:

➜ manopt ls -l -a
       -l     use a long listing format
       -a, --all
              do not ignore entries starting with .

Observe que você pode ter quantos argumentos quiser, mas eles precisam ser válidos (e no início da linha).

ChD
fonte
0

Em geral, eu apenas uso o que man(1)mostra a página formatada usando seu pager favorito, pelo menos more(1), e no sinalizador de formato de página de manual (bastante rígido) -xé descrito em -x, de modo que uma pesquisa rápida se concentra nela rapidamente.

Se for um programa GNU (ou pelo menos um com um infodocumento), um visualizador de informações (como o embutido emacs(1)ou o independente pinfo(1)) é uma maneira confortável de navegar na Invokingseção obrigatória , com detalhes completos de como o programa é chamado. Mais uma vez, a pesquisa está disponível.

vonbrand
fonte