매뉴얼 페이지에 연결

매뉴얼 페이지에 연결

터미널에서 결과의 특정 부분을 출력하기 위해 어떻게 인쇄할 수 있습니까 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플래그가 있는 호출기 프로그램으로 사용할 수 있습니다 .-pERROR

man -P 'less -p ^ERRORS' symlink

그러면 매뉴얼 페이지가 열리고 해당 섹션 symlink으로 바로 이동합니다 ERRORS.

답변2

인용하려면Meta에서 내가 직접 올린 게시물:

매뉴얼 페이지에 연결

less나는 이미 선호하는 방법을 가지고 있는데, 매뉴얼 페이지의 두 곳에서 이에 대해 읽을 수 있습니다 .

LESS='+/\+cmd' man less

그리고

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

(내가 거기서 뭘 했는지 알아?)

답변3

다음과 같은 맨페이지를 열면 다음을 입력하여 AUTHOR 줄을 찾아서 이동할
man cowsay
수 있습니다 .
/AUTHOR
또는: 맨페이지에서
/myFunction
인스턴스를 찾으려면 . (인스턴스가 여러 개인 경우에는 버튼을 눌러 다음 인스턴스로 이동할 수 있습니다)myFunction
n

또한 매뉴얼 페이지에 있는 경우 h아래와 같이 더 적은 수의 명령을 입력하고 요약할 수 있습니다. 당신과 관련이 있다고 생각되는 부분을 잘라냈지만 더 많은 부분이 있습니다.

                  더 적은 명령 요약

      *로 표시된 명령 앞에는 숫자 N이 올 수 있습니다.
      괄호 안의 참고 사항은 N이 제공된 경우의 동작을 나타냅니다.

  h H 이 도움말을 표시합니다.
  q :q Q :Q ZZ 종료합니다.
 ------------------------------------- ------------

                           움직이는

  e ^E j ^N CR * 한 줄(또는 N 줄)을 앞으로 보냅니다.
  y ^Y k ^K ^P * 한 줄 뒤로(또는 N 줄).
  f ^F ^V SPACE * 하나의 창(또는 N 줄)을 앞으로 이동합니다.
  b ^B ESC-v * 한 창(또는 N 줄) 뒤로 이동합니다.
  z * 하나의 창을 앞으로 이동합니다(창을 N으로 설정).
  w * 한 창 뒤로 (그리고 창을 N으로 설정)
  ESC-SPACE * 한 창 앞으로 이동하지만 파일 끝에서 멈추지 않습니다.
  d ^D * 하나의 절반 창을 앞으로 이동합니다(반 창을 N으로 설정).
  u ^U * 하나의 절반 창 뒤로(그리고 절반 창을 N으로 설정)
  ESC-) RightArrow * 왼쪽 화면 너비의 절반(또는 N 위치).
  ESC-( LeftArrow * 오른쪽 화면 너비의 절반(또는 N 위치).
  F 영원히 전달; "tail -f"와 같습니다.
  r ^R ^L 화면을 다시 그립니다.
  R 화면을 다시 그리며 버퍼링된 입력을 삭제합니다.
        ------------------------------------- -
        기본 "창"은 화면 높이입니다.
        기본 "반 창"은 화면 높이의 절반입니다.
 ------------------------------------- ------------

                          수색

  /pattern * 일치하는 (N번째) 줄을 앞으로 검색합니다.
  ?pattern * (N번째) 일치하는 라인을 역방향으로 검색합니다.
  n * 이전 검색을 반복합니다(N번째 발생).
  N * 이전 검색을 역방향으로 반복합니다.
  ESC-n * 파일에 걸쳐 이전 검색을 반복합니다.
  ESC-N * 이전 검색을 반복하고 방향을 바꿉니다. & 스패닝 파일.
  ESC-u 실행 취소(토글) 검색 강조 표시.
  &pattern * 일치하는 줄만 표시
        ------------------------------------- -
        검색 패턴은 다음 중 하나 이상에 의해 수정될 수 있습니다.
        ^N 또는 ! 일치하지 않는 행을 검색합니다.
        ^E 또는 * 여러 파일을 검색합니다(END OF FILE 통과).
        ^F 또는 @ 첫 번째 파일(/의 경우) 또는 마지막 파일(?의 경우)에서 검색을 시작합니다.
        ^K 일치 항목을 강조 표시하지만 이동하지 않습니다(KEEP 위치).
        ^R 일반 표현을 사용하지 마세요.
 ------------------------------------- ------------

                           점프

  g ESC-> * 파일의 마지막 줄(또는 N 줄)로 이동합니다.
  p % * 파일의 시작 부분으로 이동합니다(또는 파일의 N%).

큰 맨페이지를 더 쉽게 읽고 싶다면 이것이 효과가 있을 것입니다.

답변4

나무를 돌볼 때, 다시 생각해봐야 합니다.인쇄매뉴얼 페이지 전체 또는 일부, 특히 몇 달에 한 번씩 변경될 수 있는 경우.

대신, 다른 답변에서 제안한 것처럼 호출기(예: less)를 사용하여 필요한 정보를 앞뒤로 검색할 수 있습니다. 일반적으로 매뉴얼 페이지의 구조는 이를 더 쉽게 찾는 데 도움이 됩니다.

또한 일부 프로그램에서는 Emacs와 같은 "내부" 매뉴얼 페이지를 열 수 있습니다. 여기서 "MX man" (또는 "MX woman") 명령을 사용하여 매뉴얼 페이지를 연 다음 모든 편집기 기능을 사용하여 페이지를 탐색합니다(Emacs에도 기능이 있지만 print-region설명하는 것은 이 답변에서는 주제에서 벗어납니다).

관련 정보