Enlace a páginas man

Enlace a páginas man

Desde la terminal, ¿cómo puedo imprimir para generar una sección específica del resultado de man something?

Por ejemplo, si quisiera obtener información sobre el valor de retorno de la función de escritura C, me gustaría ver algo como esto:

RETURN VALUE
       On  success,  the  number  of bytes written is returned (zero indicates
       nothing was written).  It is not an error if  this  number  is  smaller
       than the number of bytes requested; this may happen for example because
       the disk device was filled.  See also NOTES.

       On error, -1 is returned, and errno is set appropriately.

       If count is zero and fd refers to a  regular  file,  then  write()  may
       return  a failure status if one of the errors below is detected.  If no
       errors are detected, or error detection is not  performed,  0  will  be
       returned  without  causing  any  other effect.  If count is zero and fd
       refers to a file other than a regular file, the results are not  speci‐
       fied.

ERRORS
       EAGAIN The  file descriptor fd refers to a file other than a socket and
          has been marked nonblocking (O_NONBLOCK), and  the  write  would
          block.  See open(2) for further details on the O_NONBLOCK flag.

       EAGAIN or EWOULDBLOCK
          The  file  descriptor  fd refers to a socket and has been marked
          nonblocking   (O_NONBLOCK),   and   the   write   would   block.
[...]

en lugar de:

WRITE(2)                   Linux Programmer's Manual                  WRITE(2)

NAME
       write - write to a file descriptor

SYNOPSIS
       #include <unistd.h>

       ssize_t write(int fd, const void *buf, size_t count);

DESCRIPTION
       write()  writes  up  to  count bytes from the buffer pointed buf to the
       file referred to by the file descriptor fd.

       The number of bytes written may be less than  count  if,  for  example,
       there  is  insufficient space on the underlying physical medium, or the
       RLIMIT_FSIZE resource limit is encountered (see setrlimit(2)),  or  the
       call was interrupted by a signal handler after having written less than
       count bytes.  (See also pipe(7).)

       For a seekable file (i.e., one to which lseek(2) may  be  applied,  for
       example,  a  regular file) writing takes place at the current file off‐
       set, and the file offset is incremented by the number of bytes actually

[...]

Respuesta1

Puede utilizar -Pla bandera del manprograma para utilizar un buscapersonas para mostrar páginas. Por ejemplo, puede utilizar lessel programa de buscapersonas con bandera -ppara buscar el patrón ERRORque ocurre al principio de la línea dentro de la página de manual:

man -P 'less -p ^ERRORS' symlink

Esto abre la página de manual symlinky salta directamente a la ERRORSsección de la misma.

Respuesta2

Citarmi propia publicación de Meta:

Enlace a páginas man

Ya tengo un método favorito para esto, sobre el cual puedes leer en la lesspágina de manual en dos lugares:

LESS='+/\+cmd' man less

y

LESS='+/LESS[[:space:]]*Options' man less

(¿Ves lo que hice ahí?)

Respuesta3

Si simplemente abre una página de manual como:
man cowsay
Luego puede escribir:
/AUTHOR
para buscar y saltar a la línea AUTOR, por ejemplo. O:
/myFunction
para buscar instancias de myFunctionen la página de manual.
(Si hay varias instancias, puede presionar npara ir a la siguiente instancia)

Además, si está en una página de manual, puede escribir hy obtener un resumen de menos comandos como se muestra a continuación. Los corté después de las partes que pensé que eran relevantes para ti, pero hay más.

                  RESUMEN DE MENOS COMANDOS

      Los comandos marcados con * pueden ir precedidos de un número, N.
      Las notas entre paréntesis indican el comportamiento si se da N.

  h H Mostrar esta ayuda.
  q :q Q :Q ZZ Salir.
 -------------------------------------------------- -------------------------

                           MOVIENTE

  e ^E j ^N CR * Reenviar una línea (o N líneas).
  y ^Y k ^K ^P * Hacia atrás una línea (o N líneas).
  f ^F ^V ESPACIO * Avanzar una ventana (o N líneas).
  b ^B ESC-v * Retroceder una ventana (o N líneas).
  z * Reenviar una ventana (y establecer la ventana en N).
  w * Retroceder una ventana (y establecer la ventana en N).
  ESC-SPACE * Avanzar una ventana, pero no detenerse al final del archivo.
  d ^D * Avanzar media ventana (y establecer media ventana en N).
  u ^U * Retroceder media ventana (y establecer media ventana en N).
  ESC-) Flecha derecha * Mitad izquierda del ancho de la pantalla (o N posiciones).
  ESC-(Flecha izquierda * Derecha la mitad del ancho de la pantalla (o N posiciones).
  F Adelante para siempre; como "cola -f".
  r ^R ^L Repintar pantalla.
  R Repintar la pantalla, descartando la entrada almacenada en el búfer.
        -------------------------------------------------- -
        La "ventana" predeterminada es la altura de la pantalla.
        La "media ventana" predeterminada es la mitad de la altura de la pantalla.
 -------------------------------------------------- -------------------------

                          BUSCANDO

  /pattern * Buscar hacia adelante la (N-ésima) línea coincidente.
  ?pattern * Buscar hacia atrás la (N-ésima) línea coincidente.
  n * Repita la búsqueda anterior (para la enésima aparición).
  N * Repetir la búsqueda anterior en sentido inverso.
  ESC-n * Repetir la búsqueda anterior, abarcando archivos.
  ESC-N * Repetir búsqueda anterior, invertir dir. y archivos que abarcan.
  ESC-u Deshacer (alternar) resaltado de búsqueda.
  &patrón * Mostrar solo líneas coincidentes
        -------------------------------------------------- -
        Los patrones de búsqueda pueden ser modificados por uno o más de:
        ^N o ! Busque líneas que NO coincidan.
        ^E o * Buscar varios archivos (pasar hasta FINAL DEL ARCHIVO).
        ^F o @ Iniciar la búsqueda en el PRIMER archivo (para /) o en el último archivo (para ?).
        ^K Resalte coincidencias, pero no las mueva (MANTENGA la posición).
        ^R No utilices EXPRESIONES REGULARES.
 -------------------------------------------------- -------------------------

                           SALTAR

  g ESC-> * Ir a la última línea del archivo (o línea N).
  p % * Ir al principio del archivo (o N por ciento en el archivo).

Si solo desea leer más fácilmente páginas de manual grandes, esto debería funcionar.

Respuesta4

Cuidando los árboles deberías repensar siimprimirpáginas del manual en su totalidad o en partes, específicamente en momentos en los que pueden cambiar cada pocos meses.

En cambio, como se sugiere en otras respuestas, podría (aprender a) usar el buscapersonas (por ejemplo, less) para buscar hacia adelante y hacia atrás la información que necesita. Normalmente, la estructura de las páginas de manual le ayuda a encontrarlas más fácilmente.

Además, algunos programas te permiten abrir páginas de manual "dentro", como Emacs: allí puedes usar el botón "mx man" (o "mx woman") comando para abrir una página de manual y luego usar todas las funciones del editor para navegar en ella (Emacs también tiene una print-regionfunción, pero explicar eso estaría fuera de tema para esta respuesta).

información relacionada