マニュアルページへのリンク

マニュアルページへのリンク

ターミナルから、結果の特定のセクションを出力するにはどうすればよいでしょうかman something?

たとえば、C 関数 write の戻り値に関する情報を取得したい場合は、次のようなものが表示されます。

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

の代わりに:

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

[...]

答え1

-Pプログラムのフラグを使用してman、ページャを使用してページを表示できます。たとえば、lessフラグ付きのページャ プログラムを使用して、マニュアル ページ内の行の先頭にある-pパターンを検索できます。ERROR

man -P 'less -p ^ERRORS' symlink

これにより、のマニュアル ページが開き、そのセクションsymlinkに直接ジャンプします。ERRORS

答え2

引用するメタからの私自身の投稿:

マニュアルページへのリンク

less私はすでにこれに関して好んで使っている方法を持っています。これについては、次の 2 か所のマニュアル ページで読むことができます。

LESS='+/\+cmd' man less

そして

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

(私が何をしたのか分かりますか?)

答え3

次のようなマニュアルページを開いた場合、次のように
man cowsay
入力して、
/AUTHOR
たとえば AUTHOR 行を見つけてジャンプすることができます。または、次のように入力して、マニュアルページ内
/myFunction
の のインスタンスを検索しますmyFunction
(複数のインスタンスがある場合は、 を押してn次のインスタンスに移動できます)

また、man ページを使用している場合は、h以下のように入力して less コマンドの概要を取得できます。関連性があると思われる部分の後で省略しましたが、他にもあります。

                  LESSコマンドの概要

      * でマークされたコマンドの前には数字 N が付く場合があります。
      括弧内の注記は、N が指定された場合の動作を示します。

  h H このヘルプを表示します。
  q :q Q :Q ZZ 終了。
 ---------------------------------------------------------------------------

                           動く

  e ^E j ^N CR * 1行(またはN行)進みます。
  y ^Y k ^K ^P * 1 行(または N 行)戻ります。
  f ^F ^V SPACE * 1ウィンドウ(またはN行)進みます。
  b ^B ESC-v * 1ウィンドウ(またはN行)戻ります。
  z * 1ウィンドウを進めます(ウィンドウをNに設定します)。
  w * 1ウィンドウ戻ります(ウィンドウをNに設定します)。
  ESC-SPACE * 1 ウィンドウ進みますが、ファイルの終わりで停止しません。
  d ^D * 半ウィンドウを1つ進めます(半ウィンドウをNに設定します)。
  u ^U * 半ウィンドウを 1 つ後方に移動します (半ウィンドウを N に設定します)。
  ESC-) 右矢印 * 画面幅の半分(または N 位置)を左に移動します。
  ESC-( 左矢印 * 画面幅の半分 (または N 位置) を右に移動します。
  F 永遠に前進します。「tail -f」と同様です。
  r ^R ^L 画面を再描画します。
  R バッファリングされた入力を破棄して画面を再描画します。
        ---------------------------------------------------
        デフォルトの「ウィンドウ」は画面の高さです。
        デフォルトの「ハーフウィンドウ」は画面の高さの半分です。
 ---------------------------------------------------------------------------

                          検索

  /pattern * (N番目)の一致する行を前方に検索します。
  ?pattern * (N番目)の一致する行を後方に検索します。
  n * 前回の検索を繰り返します(N 番目の出現)。
  N * 前回の検索を逆方向に繰り返します。
  ESC-n * ファイルをまたいで前回の検索を繰り返します。
  ESC-N * 前回の検索を繰り返し、逆ディレクトリと複数のファイルをまたぎます。
  ESC-u 検索のハイライトを元に戻す(切り替える)。
  &pattern * 一致する行のみ表示
        ---------------------------------------------------
        検索パターンは、次の 1 つ以上の要素によって変更できます。
        ^N または ! 一致しない行を検索します。
        ^E または * 複数のファイルを検索します (END OF FILE まで渡します)。
        ^F または @ 最初のファイル (/ の場合) または最後のファイル (? の場合) から検索を開始します。
        ^K 一致を強調表示しますが、移動しません (位置を保持)。
        ^R 正規表現を使用しないでください。
 ---------------------------------------------------------------------------

                           ジャンピング

  g ESC-> * ファイルの最後の行(または N 行目)に移動します。
  p % * ファイルの先頭(またはファイルの N パーセント)に移動します。

大きなマニュアルページをもっと簡単に読みたいだけなら、これでうまくいくはずです。

答え4

木の世話をする際には、印刷マニュアルページ全体または一部、特に数か月ごとに変更される可能性がある場合。

代わりに、他の回答で示唆されているように、ページャー (例less) を使用して (使い方を学んで)、必要な情報を前後に検索することができます。通常、man ページの構造により、より簡単に情報を検索できます。

また、Emacsなどの一部のプログラムでは、マニュアルページを「内部」で開くことができます。そこでは、「MX man" (または "MX woman") コマンドを使用してマニュアル ページを開き、すべてのエディター機能を使用してそのページ内を移動します (Emacs にも機能がありますprint-regionが、それを説明するとこの回答の主題から外れます)。

関連情報