맨 페이지 창에서 사용 가능한 명령은 어디에 기록되어 있으며 시스템에 따라 다른 명령입니까?


9

몇 년 동안 리눅스를 사용해 왔는데 갑자기 man명령을 올바르게 사용하는 방법을 모른다는 것을 알게되었습니다 . q매뉴얼 페이지를 종료하고 /검색하기 위해 타이핑 할 수 있다는 것은 잘 알려져있다 . 그러나 나는 이것들이 어디에 문서화되어 있는지 모른다. 나는 man man man -a man info man운이없이 인터넷 검색을 시도했다 .

이 정보를 찾을 수있는 올바른 위치를 알려주십시오. 정보가 정확하고 man man간과 되어도 완벽하게 괜찮습니다. 알려주세요.

이 명령들이 OS마다 다르거 나 Linux 배포판마다 다릅니 까?


매뉴얼 페이지를 방금 보지 않았 less습니까? (적어도 배포판에 있으며 명령 h요약을 보여줍니다 less)
Rastapopoulos

@Rastapopoulos Aman 페이지가 방금 보지 않았 less습니까? 때문에 less표준 유틸리티 아니다.
Andrew Henle

사용 된 호출기 보다 기본적으로 사용 하는 호출기를 사용 readlink -f /usr/bin/pager하거나 readlink -f $(which pager)찾을 수 있다고 가정합니다 . 직접 작동해야합니다/bin/lessmanman pager
Hastur

2
more또는을 사용하여 매뉴얼 페이지를 읽는 경우 less입력 h하여 도움을 받을 수 있습니다 . (또는 당신은 그냥 사용할 수 있습니다 emacs...)
Alex Vong

1
?또는 h호출기 프롬프트에 입력 하면 명령 목록이 표시됩니다.
Barmar

답변:


11

매뉴얼 페이지 man의 "포맷 출력 제어"하위 제목 아래에 있으며 "환경"섹션의 뒷부분에서 반복해서 설명합니다.

기본적으로 man은을 사용합니다 pager -s.
환경 변수와 명령 줄 옵션 (의 계층 구조가 얼마나 매뉴얼 페이지에 설명 PAGER, MANPAGER그리고 --pager기본을 무시위한이).

이것이 Debian Linux와 같은 시스템에서 읽는 방법입니다. 반대로 Oracle Linux와 같은 시스템에서 man-db패키지는 다른 기본값으로 빌드되었지만 여전히 동일한 위치의 매뉴얼 페이지에 그대로 반영됩니다.

기본적으로 man은을 사용합니다 less -s.

man-db에 패키지 시도 명령에-에 빌드 컴파일시에 기본 호출기에서 자동 감지, 문서의 매뉴얼 페이지에, 밖으로 less, more그리고 pager.

데비안 리눅스와 같은 시스템에서이 pager명령은 "대체"시스템의 일부이며 여러 실제 명령 중 하나에 매핑 될 수 있습니다.

jdebp % 업데이트 대안-목록 호출기
/ bin / less
/ bin / more
/ usr / bin / pg
/ usr / bin / w3m
jdebp %

하나의 문의에 그래서 자신의 어떤에 따라 키보드를 운전하는 방법에 대한 각각의 매뉴얼 페이지, 대안은 선택되었다. 유용하게도 데비안 대체 시스템은 매뉴얼 페이지를 선택된 명령과 동기화 시켜서이 매뉴얼 페이지를 읽는 것은 매우 간단합니다.

남자 호출기


5

Man은 호출기를 사용하여 내용을 보여줍니다.

정확한 세부 사항 man은 사용 중인 버전에 따라 다릅니다 .

많은 시스템에서 사용되는 버전의 경우 :

  • 옵션 -p pager이 제공 되면 해당 호출기가 사용됩니다.
  • 그렇지 않으면 환경 변수 MANPAGER가 설정된 경우 사용됩니다.
  • 그렇지 않으면 PAGER설정되어 있습니다.
  • 그렇지 않으면 기본값은 사용하는 것입니다 /usr/bin/less

매뉴얼 페이지가 HTML 형식 BROWSER인 경우 MANPAGER/ 대신PAGER

데비안 man-db은 다른 기본값을 사용합니다.

man man자세한 내용을 읽으십시오


답변 주셔서 감사합니다. 대답은 man작동 방식을 설명하지만, 이 행동이 문서화되어있는 올바른 장소를 알려 주시면 감사하겠습니다. 감사합니다.
Weijun Zhou

man man출력 (다시 말하면 man버전 : 2.6.3)에 "기본적으로 적은 -s가 사용됩니다"라고 표시되어 있으므로 버전 및 시스템에 따라 다릅니다.
Weijun Zhou

1
이것은 표준 유닉스 철학의 한 예일뿐입니다. 텍스트 스트림에서 작동하고 정확히 한 가지만 수행하고 잘 수행하는 작고 간단한 명령입니다 . 매뉴얼을 포맷하고 페이지를 매기는 것은 가지 다른 도구에 의해 수행되는 이유입니다. 이렇게하면 페이지 매김 도구를 수동 페이지 표시뿐만 아니라 다른 작업에도 재사용 할 수 있습니다.
Jörg W Mittag

2

@Rastapopoulos 덕분에, 나는 관련 라인을 찾을 수 lessman man(오래된 리눅스 박스에 man: 1.6f 버전)를에서 환경 , 상태 섹션 있음

브라우저 HTML 수동 페이지를 표시하는 데 사용할 브라우저 의 이름입니다. 설정되어 있지 않은 경우 /usr/bin/less사용됩니다.

그러나 최신 상자 ( man버전 : 2.6.3) 에서이 줄은

BROWSER $ BROWSER가 설정되면 값은 콜론으로 구분 된 명령 목록이며, 각 명령은 man --html 용 웹 브라우저를 시작하는 데 사용됩니다. 각 명령에서 % s는 파일로 대체됩니까? groff의 HTML 출력을 포함하는 이름, %%는 단일 백분율 기호 (%)로 대체되고 % c는 콜론 (:)으로 대체됩니다.

이러한 정보를 기반으로 less기본적으로 (최소한 첫 번째 경우) 형식이 있다고 생각합니다 . 그러나 이것이 사실이더라도 나에게 분명하지 않은 방식으로 문서화되어 있습니다 (또는 man명령을 잘못 배웠습니다 ).


2

man구현이 완전히 구체적으로 지정되어 있지 않기 때문에 다양한 운영 체제에 대해 일반적으로 귀하의 질문에 완전히 대답하는 실제 방법 은 없습니다.

POSIX 표준 비 Linux 관련 답변은 POSIX man설명서 에서 찾을 수 있습니다 .

이름

man - display system documentation

개요

man [-k] name...

...

환경 변수

다음 환경 변수는 사람의 실행에 영향을 미칩니다.

LANG

설정되지 않았거나 null 인 국제화 변수의 기본값을 제공하십시오. 로캘 범주 값을 결정하는 데 사용되는 국제화 변수의 우선 순위는 XBD 국제화 변수를 참조하십시오.

LC_ALL

비어 있지 않은 문자열 값으로 설정된 경우 다른 모든 국제화 변수의 값을 대체하십시오.

LC_CTYPE

텍스트 데이터의 바이트 시퀀스를 문자로 해석하기위한 로케일을 결정하십시오 (예 : 인수 및 요약 데이터베이스에서 멀티 바이트 문자가 아닌 싱글 바이트). LC_CTYPE의 값은 이름 피연산자에 대해 기록 된 정보의 형식에 영향을 줄 필요가 없습니다.

LC_MESSAGES

표준 오류에 기록 된 진단 메시지 및 표준 출력에 기록 된 정보 메시지의 형식 및 내용에 영향을 미치는 데 사용할 로케일을 결정하십시오.

NLSPATH

LC_MESSAGES 처리를위한 메시지 카탈로그의 위치를 ​​결정하십시오.

휴대용 소형 무선 호출기

출력을 터미널에 기록하기위한 출력 필터링 명령을 결정하십시오. command_string 피연산자로 허용되는 모든 문자열 이 유효합니다. 표준 출력이 터미널 장치 인 경우 참조 페이지 출력은 명령을 통해 파이프됩니다. PAGER 변수가 널 (null)이거나 설정되지 않은 경우 명령 은 시스템 문서에 문서화되어 있거나 다른 페이지 매김 유틸리티입니다.sh-cmore

man완전하게 지정되지 않은지 설명하는 RATIONALE 섹션을 참고하십시오 .

이론적 해석

man 유틸리티는 지정된대로 최소한의 유용성을 인정합니다. 표준 개발자의 의견은 사람이 제공해야 할 정보의 양 또는 양에 대해 크게 나뉘어져 있습니다. 그러나 문서에 액세스 할 수있는 이식 가능한 방법을 제공하면 사용자 이식성이 도움이된다고 생각했습니다. 더 자세한 사양에 대한 주장은 다음과 같습니다.

  • 디스크 공간이 충분하지 않은 시스템에는 많은 양의 문서가 필요하지 않습니다.

  • 현재의 수동 시스템은 사용자의 이식성을 크게 돕는 방식으로 정보를 제공하지 않습니다.

  • "더 나은 도움말 시스템"은 현재 공급 업체가 POSIX 구현에 가치를 더할 수 있다고 생각하는 영역입니다.

-f 옵션이 고려되었지만 구현 차이로 인해이 POSIX.1-2008 볼륨에는 포함되지 않았습니다.

유틸리티에 대해 표시해야 할 내용에 대해보다 구체적으로 설명이 변경되었습니다. 표준 개발자는 각 옵션과 피연산자가 수행하는 작업에 대한 간단한 설명을 제공하지 않고 시놉시스 만 표시 할 수없는 것으로 판단했습니다.

데이터베이스에 포함되는 "purpose"항목은 각 유틸리티에 대해이 POSIX.1-2008 볼륨의 섹션 제목 (숫자 접두어 미만)과 유사 할 수 있습니다. 이러한 타이틀은 이러한 목적으로 역사적 시스템에서 사용 된 타이틀과 유사합니다.

기본 페이지 매김에 대한 이론적 근거는 mailx 를 참조하십시오 .

LC_CTYPE 설명의주의 사항은 구현시 각 시스템에서 지원되는 모든 로캘에 대한 참조 페이지를 제공 할 필요가 없기 때문에 추가되었습니다. LC_CTYPE을 변경한다고해서 반드시 참조 페이지를 다른 언어로 번역 할 필요는 없습니다. POSIX.1-2008-locale 특정 메시지에서 LC_MESSAGES의 현재 상태와 동일하지만 아직 요구 사항은 아닙니다.

히스토리 MANPATH 변수는 POSIX에 포함되지 않습니다. 참조 페이지 파일에 대한 이름 지정 규칙을 지정하거나 파일이 아니라는 명령도 지정하지 않기 때문입니다. 일부 구현에서는 실제 데이터베이스, 하이퍼 텍스트 파일 또는 man 실행 파일 내의 고정 문자열 일 수 있습니다. 표준 개발자는 참조 페이지의 이식성이 작업 범위를 벗어나는 것으로 간주했습니다. 그러나 사용자는 MANPATH가 여러 히스토리 시스템에서 구현되며 시스템 관리자가 다양한 범주 (유틸리티, 기능, 파일 형식 등)의 참조 페이지에 대한 검색 패턴을 조정하는 데 사용될 수 있음을 알고 있어야합니다. 시스템에서 참조 페이지의 위치와 규칙을 나타냅니다.

...

mailx 페이지에서 페이지 매김 근거 설명 :

PAGER가 널 (null)이거나 설정되지 않은 경우 선택된 페이지 매기는 부분적으로 지정되지 않아 pg를 기본값으로 사용하는 System V 히스토리 실습을 허용합니다. 고양이가 페이지 매김 자임을 선언하는 등의 페이지 매김 기능을 무시하면이 설명의 의도 된 의미를 충족하지 못합니다. 그러나 모든 "휴대용 사용자"는 PAGER를 명시 적으로 설정하여 모든 시스템에서 선호하는 페이지 매김을 가져와야합니다. 대부분의 과거 호출기는 사용자 입력의 공통 주제를 따르지만 편집기는 크게 다르기 때문에 VISUAL 편집기 선택 (vi로 위임 됨)과 달리 페이지 매김 선택은 부분적으로 지정되지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.