Come posso controllare le pagine man per quale singolo parametro del comando fa?


12

Esempio: sto usando il tar -zxvfcomando ma non so cosa significa 'x'.

Come posso controllare questo singolo parametro senza dover scorrere fino in fondo man tar?


Si prega di controllare questo [thread] [1] su superuser.com. [1]: superuser.com/questions/441654/…
Einar

Risposte:


17

Ricerca

xè per extract.

Dopo che sei dentro man, digita /-xenterper cercare informazioni sul parametro -x,
premi nper passare alla corrispondenza -x successiva e Nper la precedente

Cerca con Regex

Per pagine man di grandi dimensioni o termini comuni, è possibile utilizzare un po 'di regex per restringere la ricerca.

Se desideri solo la voce principale, puoi utilizzare /^ *-xper rimuovere la maggior parte delle corrispondenze estranee.
Funziona come la maggior parte delle pagine man sono formattate con la voce rientrata con spazi.

  • ^ * corrisponde all'inizio della riga, con zero a molti spazi.
  • -x è la stringa di ricerca.

7

Potresti anche grepuscirne dalla pagina man con qualche contesto:

man tar | grep -C5 -- '-x\b'

5

Funziona in RHEL6 con Bash

In .bashrc

Inserisci

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

avvia una nuova istanza di bash

$ bash

adesso

mans ls -l

ha l'effetto desiderato.


2

Se usi Emacs M-x man RET tar, quindi C-s -x.

Premi C-sripetutamente fino ad arrivare nel posto giusto, quindi premi Invio.

C-rè lo stesso, ma al contrario. (Ma entrambi eseguiranno un doppio strike nella parte superiore / inferiore del documento.)

Inoltre, in casi come questo (ricerca nella pagina man), è preferibile la ricerca con distinzione tra maiuscole e minuscole . Esamina la case-fold-searchvariabile.

L'enorme vantaggio dell'utilizzo dell'editor per visualizzare le pagine man è che conosci tutti i comandi così bene: navigazione, copia, tutto ciò che ti piacerebbe fare, sai già come.


0

So che è una domanda un po 'vecchia, quindi mi dispiace per la rinascita, ma ho scritto questo semplice script di shell che puoi usare:

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

Usalo ad esempio come:

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

Nota che puoi avere tutti gli argomenti che vuoi ma devono essere validi (e all'inizio della riga).


0

In generale, uso solo che man(1)mostra la pagina formattata usando il tuo cercapersone preferito, almeno more(1), e nel flag di formato manpage (piuttosto rigido) -xè descritto sotto -x, quindi una rapida ricerca si azzera rapidamente su quello.

Se if è un programma GNU (o almeno uno con un infodocumento), un visualizzatore di informazioni (come quello incorporato emacs(1)o autonomo pinfo(1)) è un modo comodo per navigare nella Invokingsezione obbligatoria , con tutti i dettagli su come viene chiamato il programma. Ancora una volta, la ricerca è disponibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.