it-swarm-es.tech

Trucos y consejos para encontrar información en páginas man

¿Alguien tiene algún truco y consejo para encontrar información en las páginas de manual?

82
Casebash

Presta atención al número de sección: supongamos que quieres ayuda en printf. hay al menos dos de ellos: en Shell y en C. La versión bash de printf está en la sección 1, la versión C está en la sección 3 o 3C. Si no sabe cuál desea, escriba man -a printf, Y se mostrarán todas las páginas del manual.

Si lo que está buscando es el formato de printf con todos los códigos% y no aparece en la página de manual de printf, puede saltar a las páginas de manual relacionadas que figuran en el párrafo VER TAMBIÉN. Puede encontrar algo como formats(5), que sugiere que escriba man 5 formats.

Si le molesta que man printf Le proporcione printf (1) y todo lo que desea es printf (3), debe cambiar el orden de los directorios escaneados en la variable de entorno MANPATH y colocar los para el lenguaje C antes de los de los comandos de Shell. Esto puede suceder también cuando las páginas de manual de Fortran o TCL/Tk se enumeran antes de las C.

Si no sabe por dónde empezar, escriba man intro O man -s <section> intro. Esto le da un resumen de los comandos de la sección solicitada.

Las secciones están bien definidas:

  • 1 es para comandos de Shell,
  • 2 es para llamadas al sistema,
  • 3 es para interfaces de programación (a veces 3C para C, 3F para Fortran ...)
  • 5 es para formatos de archivo y otras reglas, como los formatos printf o regex.

Por último, pero no menos importante: la información entregada en las páginas de manual no es redundante, por lo tanto, lea detenidamente de principio a fin para aumentar sus posibilidades de encontrar lo que necesita.

51
mouviciel

Escriba barra inclinada / y luego escriba la cadena a buscar. Luego sigue presionando n para ir al siguiente elemento

58

man -k búsqueda

Esto le dará una lista de todas las páginas man relacionadas con 'buscar'.

37
Kristof Provost

Como dice @Steven D, no olvide las páginas info.

Además, no se deje intimidar por las páginas info. Conozco a muchas personas que no usan las páginas de información debido al sistema de navegación incorporado. Mi solución favorita es canalizar las páginas de información a través de less:

info gpg |less

De esta manera, puedo navegar por las páginas info usando mi buscapersonas favorito. Las páginas info ahora se comportarán igual que las páginas man.

20
Stefan Lasiewski

La utilidad apropos es muy útil para encontrar la página de manual adecuada.

18
Hank Gay

El buscapersonas predeterminado para leer una página de manual es less. Hay documentación sobre lessaquí .

En particular:

  • Desplácese hacia arriba/abajo por una página: b / / space
  • Desplácese hacia arriba/hacia abajo media página: u / / d
  • Búsqueda hacia adelante/hacia atrás: / / / ?, luego escriba una expresión regular,
    • luego golpear n para ir al siguiente partido o
    • shiftN para ir al partido anterior.
    • Si la página está cubierta de coincidencias poco interesantes, presione space para ir a la página siguiente.
  • Agregar un @ antes de la expresión regular para buscar desde el principio.
16
Casebash

Siempre revisa lo que hay en la sección VER TAMBIÉN. Los comandos que se muestran en esta sección en la página info se pueden seleccionar colocando el cursor en el comando deseado y luego presionando la tecla Intro. Con frecuencia encuentro otros comandos o funciones útiles de esa manera.

8
Neth

Si está más cómodo con su editor que con el buscapersonas predeterminado, puede configurar MANPAGER en su entorno. Por ejemplo, tengo esta línea en mi ~/.bashrc:

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

Supongo que usar mayoría buscapersonas es una buena idea. Este localizador es muy poderoso, pero la característica principal para mí es mostrar páginas de manual en color. Esta característica mejora la percepción del texto plano y facilita la búsqueda de la información necesaria.

Mira la captura de pantalla adjunta, el texto se ve muy bien, ¿no?

most pager

4
dr.

En Linux man, puedes hacer man -K string (observe la K mayúscula) para realizar una búsqueda de fuerza bruta de un término dado

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

muy útil cuando no sabes dónde buscar.

4
enzotib

No ignore las páginas info. Muchas herramientas GNU) tienen páginas de información mucho más extensas que las páginas man. A menudo, la sección VER TAMBIÉN dirá "La documentación completa para foo se mantiene como un manual de Texinfo. "Esto es especialmente cierto para cualquier cosa en el paquete GNU coreutils.

Además, si es un usuario de emacs, no olvide que puede leer información y páginas de manual sin salir de su editor: M-x info y M-x woman.

3
Steven D

Para esas páginas de manual más largas y complejas, me resulta mucho más fácil leerlas desde una computadora (extraño, lo sé) y por eso tengo estas funciones en mi .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

De la respuesta de Kristof, si usted (es decir) escribe man -k chmod obtendrá una lista de posibilidades. Tenga en cuenta el número entre paréntesis, significa la sección que debe buscar en las páginas del manual:

En UNIX puedes probar:

man -s1 chmod mostrará la página de manual para el comando chmod

man -s2 chmod mostrará la página de manual para la función C lib chmod ()

En Linux deberías cambiar -s para -S

2
jyz

Similar pero ligeramente diferente de la respuesta de Rob Hoelz,

Agregue lo siguiente en su ~/.vimrc:

let $GROFF_NO_SGR=1
runtime ftplugin/man.vim

Ahora vimman es un excelente visor de páginas de manual, y :Man desde Vim (o simplemente presionando K sobre una palabra clave) es un excelente navegador de páginas de manual.

2
ephemient

Ver páginas de manual en una aplicación gráfica fácil de usar:

konqueror man:(command)

Para la tabla de contenido de nivel superior:

konqueror man:

Caracteristicas:

  • Si ingresa un comando que tiene una coincidencia en varias secciones, lo llevará a una página de desambiguación
  • Es una aplicación gráfica, por lo que no tiene que recordar secuencias de teclas crípticas para navegar por la página.
  • Incluye hipervínculos a páginas relacionadas (incluidas las páginas "ver también")
  • Puede abrir páginas relacionadas en pestañas separadas
2
nobar

Dayum, gente! ¿Qué pasa con las respuestas complicadas? ¿Qué pasó con la simplicidad como la clave de la brillantez y qué no? La mayoría de sus teclas vi/vim funcionarán perfectamente:

/ O ? - Busca hacia adelante o hacia atrás (como algunos de los chicos ya han mencionado). En el caso de la primera, una n minúscula se desplazará a través de las coincidencias hacia adelante, una N mayúscula irá hacia atrás. Lo contrario es cierto para el último: el signo de interrogación.

Búsquedas un poco más complejas a través de expresiones regulares. La diferencia entre man (o less) y VIM) es que tiene que usar el carácter escape () para declarar metacaracteres en su expresión cuando usa este último . La buena noticia es que cuando usa el primero (man o less), no tanto. Así que puede usarlo fácilmente cuando busque, por ejemplo, un iptables para varios términos como: /(iptables|rules). Si no está familiarizado con las expresiones regulares, esto significa "Buscar instancias de palabras iptables OR = rules ". Después de ingresar esto y seguir presionando n, se desplazará a través de los resultados alternativos de la búsqueda con los resultados muy bien resaltados para usted con diferentes colores (dos, en realidad. Jaja). Si su tratando de hojear la página y querer concentrarse en términos o conceptos específicos, ¡no se perderá nada!

Y, por supuesto, para una navegación más rápida, sus reservas regulares vi siguen en pie (sin juego de palabras): gg o G - principio/final del documento; (¡Corrección! En man puede usar todas las teclas mencionadas a continuación sin usar Ctrl. Eso es solo para vi). Ctrl + u or d - Desplácese hacia arriba o hacia abajo; Ctrl + b or f - Lo mismo, solo en saltos más grandes. "Página hacia atrás o hacia adelante"; e o y: desplácese por una sola línea, pero creo que la mayoría de las personas preferirían simplemente usar las teclas de flecha. Sin embargo, si quieres quedarte "1337" y "nunca dejar la fila de casa" (como yo hago jajaja), ese es el camino a seguir.

Lo que estoy tratando de decir es que UNIX tiene dos tipos principales de controles de programa de teclado, que son ambas partes de la biblioteca readline: vi y emacs. Mejora tus habilidades en cualquiera de los dos (pero, preferiblemente, en ambos) y hará tu vida mucho menos complicada. La mayoría de los programas CLI en UNIX emplean cualquiera de ellos. BASH usa los controles de emacs por defecto, pero se puede configurar fácilmente en "modo vi" escribiendo set -o vi. Lo mismo puede decirse de las expresiones regulares, pero eso estará fuera de tema. Incluso iría tan lejos como para decir que ambos son la "lingua franca" de UNIX.

2
Max

Para buscar eficientemente el cambio de un solo carácter, por ejemplo -u, a menudo puedes usar:

/^ *-u($|\s)

Ahorra mucho tiempo si muchas opciones tienen '-u' como prefijo.

1
matt

La mayoría de nosotros establecemos la variable PATH. Esto le mostrará cómo hacer que la ruta de búsqueda del hombre coincida automáticamente con su RUTA de búsqueda de comandos.

Supongamos que agrega su ruta para incluir sus utilidades personales, específicas del trabajo e instaladas localmente, como export PATH=$PATH:~/bin:/workgroup/bin:/opt/local/bin:. Como efecto secundario, man foo no mostrará las páginas de manual almacenadas en ~/man,/workgroup/man o/opt/local/man.

Para resolver esto, uso el comando manpath para configurar automáticamente la ruta de búsqueda de la página del manual. Por ejemplo, mi ~/.bashrc tiene lo siguiente. Esto funciona para mí en cientos de sistemas diferentes que ejecutan todo, desde FreeBSD 4.x, Darwin y 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

Algunos sistemas (como Apple Leopard) establecen MANPATH automáticamente, pero eso significa que su sistema usará la variable MANPATH en lugar de usar manpath. Como resultado, las páginas man para ' Se ignoran los MacPorts (/ opt/local/man). Quiero controlar esto yo mismo, así que desarme MANPATH:

unset MANPATH
manpath >/dev/null
1
Stefan Lasiewski

man -a printf solo por defecto es man 1 en mi máquina Linux Mint. whatis printf me da la información pertinente.

1
stu

Si está buscando información sobre un bash incorporado (como time, disown, set o [[), en lugar de recorrer la página de información detallada bash o man bash, Puedes entrar help {builtin-keyword} y obtenga información básica sobre la sintaxis rápidamente.

1
LawrenceC

Solo uso grep. Si me preguntara qué hizo la opción -s Del comando read, probaría estos comandos en orden hasta obtener una respuesta:

info read |grep \\-s

man read |grep \\-s

help read |grep \\-s

En este caso, solo el comando info proporcionó una respuesta clara. Esta excelente respuesta proporciona detalles sobre los diferentes sistemas de ayuda.

1
Cees Timmerman

Si está molesto porque man printf le da printf (1) y todo lo que quiere es printf (3), puede decirle a man que desea que printf de la sección 3 ponga la sección antes de printf, así: man 3 printf, sin tener que cambiar el orden de los directorios escaneados en la variable de entorno MANPATH y colocar los del lenguaje C antes que los de los comandos de Shell.

1
Li Lo

Y para aquellas personas a las que les gusta leer las páginas man e información en una pantalla táctil, puede canalizar man/info a yad o zenity y hacer uso de todas las ventajas de gtk3 como el desplazamiento con el dedo nativo. También funciona muy bien con la pantalla y el mouse refulares:

man cat |yad --text-info 

También puede usar zenity o puede agregar opciones yad como:

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

Consejo: al mostrar uri, puede hacer clic en los enlaces web dentro de las páginas de manual con el mouse/dedo.

0
George Vasiliou

enter image description here Si le resulta difícil leer las páginas de manual debido a todo el texto de color blanco, puede colorearlas. La mayoría de las páginas man se abren con less. Para less, uso la siguiente configuración de color en .bashrc de aquí :

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]"
}

Esto es para bash y zsh. Para most, fish, xterm y rxvt ver el enlace de arriba.

Para más lectura:

0
vikram99

El comando apropos (1) se usa para buscar páginas de manual. Sin embargo, la mayoría de las implementaciones de apropos (1) solo buscan en la sección NOMBRE, lo cual es muy limitante.

NetBSD tiene una implementación de búsqueda de texto completo de apropos (1), que es capaz de buscar el contenido completo de las páginas man. También hay una interfaz basada en la web para ello: man-k.org , que puedes probar.

0
Abhinav Upadhyay