"man" 유틸리티를 ss64.com만큼 포괄적으로 만들려면 어떻게 해야 합니까?

"man" 유틸리티를 ss64.com만큼 포괄적으로 만들려면 어떻게 해야 합니까?

데비안 배포판과 함께 제공되는 "man" 유틸리티는 ss64.com만큼 포괄적이지 않습니다. 특히 cygwin과 같은 환경에서는 더욱 그렇습니다. 내 "man"을 ss64 페이지처럼 만들 수 있는 소프트웨어나 스크립트가 있습니까? ss64.com에는 Windows CMD, Mac OS X, bash를 포함한 다양한 환경에 대한 명령줄 참조가 포함되어 있습니다. 맨 페이지의 예가 있습니다.읽다

편집하다: ~에서lifehacker.com, 다음 기능을 찾았습니다.

man () { /usr/bin/man $@ || (help $@ 2> /dev/null && help $@ | less) }   

도움말 유틸리티는 내가 찾고 있는 페이지를 제공하지만 이를 우회하지는 않습니다 read.

답변1

다음을 포함하는 매뉴얼 페이지 read(매뉴얼의 섹션 1에 있음) 가 있습니다."명령은 없지만 read쉘에 read내장 명령이 있을 수 있습니다. 자세한 내용은 쉘 매뉴얼을 참조하십시오."read셸이 내장되어 있고 동작과 지원되는 옵션이 셸마다 다르기 때문에 오해의 소지가 있습니다 .

read그러나 일부 시스템(일반적으로 Linux 시스템 아님)에는 POSIX 필수 명령(내부 /bin또는 다른 곳)이 있습니다 /usr/bin(그러나 LSB(Linux Standard Base) 사양에서는 해당 요구 사항이 제거됨). 이러한 시스템에서는 매뉴얼 페이지에서 설명합니다.저것 read일반적으로 그렇지 않기 때문에 오해의 소지가 있습니다.저것 readreadsystem()쉘 프롬프트나 쉘 스크립트 또는 ... 에서 호출할 때 호출되지만 popen()쉘 내장 기능입니다.

저것http://ss64.com사이트는 bash내장 read명령을 설명합니다(어떤 버전인지는 밝히지 않지만 bash, 예를 들어 read이 컴퓨터에 있는 버전의 내장 명령과 다르며, 그 자체가 다른(이전) 컴퓨터에 내장된 명령과 다릅니다. bash한 섹션에서 ) 에 액세스할 수 있습니다 . 이런 점에서 오해의 소지가 있는 것은 아니지만, 다양한 내용을 결합하고 있다는 점에서는 매우 오해의 소지가 있다.readbashbash다른Bash와 관련 없는 명령같은 단락bash그리고 이러한 명령을 실행하려면 (Linux 및 기타 Unices에서 사용할 수 있는 많은 쉘 중 하나인 쉘은 명령을 실행하는 여러 방법 중 하나임)이 필요하거나 이러한 명령이 이와 관련이 있다는 것을 다소 암시합니다 .

이제 이렇게 하면 man read매뉴얼의 1번 항목(사용자 명령)에 명령어가 없으면 다른 항목에서 검색하게 됩니다. read예를 들어, 이 패키지를 Debian에 설치했다면 manpages-dev시스템 호출에 대한 매뉴얼 페이지 read(섹션 2)를 받게 됩니다. 그렇지 않은 경우 TCL 문서 패키지를 설치했다면 read섹션에서 TCL 기능에 대한 매뉴얼 페이지를 얻을 수 있습니다 3tcl.

(일부 시스템에서는)을 사용하여 명시적으로 read사용자 명령을 요청할 수 있습니다. 매뉴얼에 섹션이 있는 경우 해당 섹션의 장 앞에 섹션이 표시되므로 변형을 얻으려면 섹션을 작성해야 합니다. 를 사용하여 모든 매뉴얼 페이지를 얻을 수 있고, 데비안에서 어떤 패키지가 나오는지 다음을 사용하여 찾을 수 있습니다: . 예를 들어, 이 시스템에는 다음이 있습니다.man 1 readman -s 1 read1bash1zshman 1zsh readzshman -a readdpkg -S $(man -wa read)

$ dpkg -S $(man -wa read)
9base: /usr/share/man/man1/plan9-read.1.gz
tcl8.5-doc: /usr/share/man/man3/read.3tcl.gz
manpages-dev: /usr/share/man/man2/read.2.gz

를 사용할 때 zsh프롬프트 Alt-H에서 를 누르면 man현재 입력 중인 명령에 대한 설명서(명령을 통해)가 표시됩니다. Debian의 기본 설치에서는 zsh이 기능을 활용하도록 개선되었으므로 run-help(참고자료 참조 info -f zsh --index-search=run-help) 내장 프로그램에서도 도움을 받을 수 있습니다.

셸 에는 주어진 명령이나 개념에 대해 가장 합리적인 문서를 제공하려고 시도하는 내장 함수 fish가 있습니다 ( 문서 에서 ).helpfishmanfish

어떤 이유에서든 강제로 사용해야 하거나 bash(웃음) 기본값을 변경하기가 너무 게으른 경우 도움말을 가져올 수 있는 내장 명령 bash도 있습니다 (그러나 예를 들어 처럼 매뉴얼을 가져옵니다. 매뉴얼이 필요합니다 . 이름에 포함된 모든 내장 기능이 사용됩니다.)helpbashhelp readhelp '*read*'readhelp '[r]ead'read

bashbash도움말은 내장 기능 에만 적용됩니다 . 매뉴얼 섹션 1(사용자 명령), 섹션 6(게임) 및 섹션 8(관리 명령)의 검색을 포함하도록 이를 확장하려면 다음과 같이 재정의할 수 있습니다.

help() {
  builtin help "$@" 2> /dev/null ||
    MANSECT=1:8:6 man "$@"
}

답변2

"안녕하세요 SS64 작성자님, 저는 5년 후에 이 질문을 우연히 발견했습니다. 위의 다른 답변에는 몇 가지 좋은 점이 있습니다. 내장된 bash 명령이 무엇인지 더 명확하게 하기 위해 색인 페이지와 많은 개별 페이지를 다시 표현했습니다. 이는 일반 유틸리티입니다.

또한 나는 온라인 참조 자료가 내장 매뉴얼 페이지를 대체할 수 없다는 다른 사람들의 의견에 동의합니다. 온라인으로 검색하고 사용해야 하는 명령을 찾는 것은 유용하지만, 해당 명령이 자신의 컴퓨터 구문과 일치하는지 항상 확인하는 것이 좋습니다.

이 질문에 대답하려면 아마도 로컬 매뉴얼 페이지를 개선하는 가장 좋고 가장 영구적인 방법은 다음과 같습니다.Linux 문서화 프로젝트

나는 오랫동안 Linux가 HTML 매뉴얼 페이지를 "즉시" 사용할 수 있다고 믿어왔고 우분투는 바로 그런 일을 하고 있습니다.약간의 일이 점에 대해서.

답변3

Stephane이 언급했듯이 온라인 매뉴얼 페이지를 선호할 때 발생할 수 있는 한 가지 잠재적인 위험은 현재 가지고 있는 것보다 오래되었거나 최신 버전의 소프트웨어를 문서화한다는 것입니다. 이런 이유만으로도 처음부터 시작하는 것은 매우 나쁜 습관이라고 생각합니다.바꾸다나중에 어느 시점에는 중요한 버전에 대해 미묘한 부분이 있을 수 있으므로 원하는 대로 선택하세요. 실수로 공식 문서를 유익한 문서로 바꾸면 상황이 정말 복잡해질 수 있습니다.잘못된문서.

저는 ss64.com을 사용하지 않았지만 뭔가에 대한 좋은 참고 자료인 것 같습니다. 실제로는 대상을 지정하기 위한 것 같습니다.시그윈"bash" 범주로서의 사용자는 실제로 bash 내장 명령과 일반적인 UNIX 명령의 매시업입니다. 이후 기술적으로는배쉬와는 아무 관련이 없습니다, 이는 사이트의 콘텐츠를 잠재적으로 오해하게 만들지만 cygwin 관점에서는 의미가 있습니다.

나는 Linux의 GNU 매뉴얼 페이지(cygwin에도 포함되어 있다고 생각함)가 때때로 다른 매뉴얼 페이지만큼 좋지 않다는 데 동의합니다.POSIX페이지는 일반적으로 섹션 3에 있는 것보다 더 심층적이며 Linux는 posix와 호환되므로 유효하다고 가정합니다. 하지만 여전히 내 시스템 페이지를 페이지로 바꾸지 않을 것입니다. 요점이 무엇입니까?

이들 모두는 사실상 보완적입니다. 시스템 페이지가 바로 그것입니다. 요즘 대부분의 사람들은 지속적으로 고속 인터넷에 연결되어 있으며 실제로는읽다단일 문서는 웹을 통해 액세스하는 데 걸리는 시간을 단축시킵니다. 하지만 가끔 미러 사이트를 운영하는데 이러한 사이트가 매우 유용하다고 생각하므로 미리 준비해 두는 것이 좋습니다.

wget -r -np -k -p http://www.site.com/dir/page.html

예를 들어 이 주소는 문서의 최상위 색인입니다. "ss64.com/bash/"가 작동할 수 있습니다. 이러한 스위치는 에 설명되어 있습니다 man wget. 따라서 웹사이트를 로컬 디렉토리에 다운로드하고 브라우저에 북마크를 지정하거나 그러한 색인을 생성하면 작업이 완료됩니다.

관련 정보