터미널의 온라인 매뉴얼 페이지

터미널의 온라인 매뉴얼 페이지

이미 답이 있을 수도 있는 질문을 할 위험을 무릅쓰고, 내 터미널에 설치되지 않은 프로그램/응용 프로그램에 대해 내 터미널에서 온라인 리소스/맨 페이지 읽기/온라인 도구를 읽을 수 있는지, 그리고 어떻게 할 수 있는지 아는 사람이 있는지 묻고 싶습니다. 시스템.

stackexchange와 Google 검색을 수행했지만 이 문제에 대한 정보를 찾지 못했습니다.

예를 들어 man grepgrep 매뉴얼이 예상대로 표시됩니다. 반면에 설치되지 않았기 때문에 man agrep오류가 나타납니다. agrep읽으려면 다음과 같은 결과를 얻어야 agrep manual합니다 .google agrep man pageshttps://linux.die.net/man/1/agrep

추신: 그런데, 이상하다고 생각해요http://man7.org/linux/man-pages/dir_all_alphabetic.htmlAgrep을 제공하지 않습니다.

man agrepagrep을 설치하지 않고 터미널에서 agrep 또는 유사한 명령을 실행하고 일반적인 man 작업처럼 터미널에서 agrep 매뉴얼 페이지를 읽을 수 있는지 궁금합니다 .

전 세계의 모든 매뉴얼 페이지를 로컬에서 사용할 수 있을 것이라고 기대하지는 않습니다. 브라우저를 열지 않고도 man(또는 다른 명령)을 사용하여 제거된 프로그램에 대한 매뉴얼 페이지를 검색하고 표시하는 까다로운 방법이 있는지 궁금합니다. 키워드 입력, 결과 검색 등

추신: Kusalananda가 지적했듯이 네트워크 쿼리를 요청하면 특정 배포에 적합하지 않은 결과가 발생할 수 있습니다(다른 버전에 대한 결과가 팝업됩니다). 따라서 (내 꿈에서) 가장 좋은 것은 내 설정을 위해 특별히 온라인 매뉴얼 페이지를 검색할 수 있는 배포판 특정(내 경우에는 데비안) 내부/내장 명령(또는 스위치)이 있는 것입니다. : man --online agrep또는 onlineman agrep). 그렇지 않은 것 같습니다.

답변1

당신은 그것을 사용할 수 있습니다 links: links -dump https://linux.die.net/man/1/agrep | less. 카테고리와 이름을 변경하면 됩니다.

답변2

Ubuntu인 경우 패키지 dman의 명령을 사용할 수 있습니다 bikeshed. ~에서man dman:

dman   is   a   script   that   remotely   retrieves   manpages    from
http://manpages.ubuntu.com, but reads them on the local system.

This  is  often  useful  to read a manpage of a utility that you do not
have installed on the local system.

It will cycle through each manpage section available for a given TOPIC.

IIRC dman는 스크립트이므로 수정하여 사용할 수 있습니다.https://manpages.debian.org.

답변3

대안으로 고려할 수 있습니다.밥캣 텍스트 브라우저대신에. 이렇게 하면 다음과 같이 입력하면 됩니다.

lynx https://linux.die.net/man/1/agrep

그것은 많은 상황에서 나에게 효과적이었고 많은 시스템의 소프트웨어 저장소에서 널리 사용 가능한 것 같습니다.

귀하의 시스템에 어떤 버전이 있는지 아는 것에 관해서는 귀하가 설치한 시스템에서 버전 번호를 확인하고 읽으려는 매뉴얼 페이지를 살펴보지 않고서는 이를 알 수 있는 방법이 없다고 생각합니다.

답변4

온라인 서비스를 사용하여 매뉴얼을 표시하는 것은 좋지만 설치 패키지에서 매뉴얼 페이지를 추출하는 것에 대한 @Kusalananda의 의견을 읽자마자 내 컴퓨터에서 읽을 수 있도록 어떤 방식으로든 이 기술을 구현하는 데 집착하게 되었습니다. 배포 올바른 매뉴얼.

아래 솔루션의 유일한 버그는 최신 버전의 apt/dpkg를 기반으로 한다는 점입니다. 이는 Debian Testing 8.6에서 사용할 수 있지만 다른 시스템에서는 사용할 수 없을 수도 있습니다.

다운로드하지 않고 .deb 파일에서 매뉴얼 페이지 추출
관련 패키지(예: yade)를 설치하려는 경우 deb 파일을 찾으세요.

apt-get --print-uris download yade
'http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb' yade_2016.06a-7_amd64.deb 1621148 SHA256:26c0d84484a92ae9c2828edaa63243eb764378d79191149970926aa3ec40cdd4

추신: --print-uris 스위치는 deb 패키지의 URL을 인쇄하지만 deb는 다운로드되지 않습니다.

이 deb 파일에 숨겨진 매뉴얼 페이지를 찾으십시오:

dpkg -c <(curl -sL -o- http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb) |grep "man/man" |grep -vE "\/$" |awk '{print $NF}'
./usr/share/man/man1/yade-batch.1.gz
./usr/share/man/man1/yade.1.gz

맨페이지 yade.1.gz를 읽어보세요(deb 다운로드가 필요하지 않음):

man <(dpkg-deb --fsys-tarfile <(curl -sL -o- http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb) |tar -xO ./usr/share/man/man1/yade.1.gz)

매뉴얼 페이지는 man 애플리케이션을 사용하여 올바르게 표시됩니다.

apt --version --> apt 1.4~beta2 (amd64)
dpkg --version --> Debian 'dpkg' package management program version 1.18.18 (amd64).
man --version --> man 2.7.6.1
tar --version --> tar (GNU tar) 1.29
curl --version --> curl 7.51.0 (x86_64-pc-linux-gnu) libcurl/7.51.0 GnuTLS/3.5.7 zlib/1.2.8 libssh2/1.7.0 nghttp2/1.17.0 librtmp/2.3  

또 다른 방법은 deb 파일을 다운로드하는 것입니다.
고전적인 apt-get, ar 및 tar를 기반으로 한 벨로우즈 접근 방식은 모든 배포판에서 작동합니다.
deb 파일이 현재 작업 디렉토리에 다운로드되고 맨페이지가 추출된 후 파일이 삭제됩니다.

pkg="$1"
apt-get download "$pkg" 2>/dev/null
debname=$(find . -name "$pkg*.deb")
datatar=$(ar t "$debname" |grep "data.tar") 
#ar t prints out the contents of the archive 

if [[ ${datatar##*.} == "gz" ]];then #extension check 
  options="z"
elif [[ ${datatar##*.} == "xz" ]];then
  options="J"
else
  echo "data.tar archive inside deb is not a gz or xz archive. Exiting"
  exit 1
fi

manpage+=($(ar p $debname $datatar | tar t"$options" |grep "man/man" |grep -vE "\/$" |awk '{print $NF}')) #tar t lists the files included in archive
man <(ar p "$debname" "$datatar" | tar xO"$options" ${manpage[@]}) 
#ar p and tar -O prints archive files / contents in stdout to be read by man
rm -f $debname #or rm -i for more control.

manpages.debian.org를 사용하세요
세 번째 옵션으로, 2017년 1월부터 누군가 별칭/스크립트를 사용하여 새로운 데비안 맨페이지 웹사이트를 기반으로 데비안 nline에서 맨페이지를 추출할 수 있습니다. 그러면 현재 사용 중인 패키지의 올바른/최신 버전으로 직접 이동할 수 있습니다. 맨 페이지에서. 생각하다:

alias debman='function __debman { links -dump https://manpages.debian.org/jump?q=$1 |awk "/Scroll to navigation/,0" |less; };__debman'

터미널을 통해 호출$ debman yade

관련 정보