すでに答えがあるかもしれない質問をする危険を冒して、私の端末にインストールされていないプログラム/アプリケーションについて、私の端末でオンラインリソース/マンページを読む/オンラインツールを読むことができるか、そしてどのようにできるかを知っている人あるかどうか尋ねたいです。システム。
stackexchangeとGoogle検索を行いましたが、この問題に関する情報が見つかりませんでした。
たとえば、man grep
grep マニュアルが期待どおりに表示されます。一方、インストールされていないため、man agrep
エラーが表示されます。agrep
読むには、次のような結果が必要agrep manual
です。google agrep man pages
https://linux.die.net/man/1/agrep
PS:しかし、奇妙だと思います。http://man7.org/linux/man-pages/dir_all_alphabetic.htmlAgrepを提供しません。
man agrep
agrepをインストールせずに端末でagrepまたは同様のコマンドを実行し、通常のman操作のように端末からagrepのマニュアルページを読むことができるかどうか疑問に思います。
世界中のすべてのマニュアルページがローカルで利用できるとは思わない。ブラウザを開かなくても、man(または他のコマンド)を使用して削除されたプログラムのマニュアルページを検索して表示するのは難しい方法があるかどうか疑問に思います。キーワード入力、結果検索など
PS: Kusalanandaが指摘したように、ネットワーククエリを要求すると、特定の展開に適していない結果が発生する可能性があります(他のバージョンの結果がポップアップします)。したがって、私の夢の中で最高のものは、私の設定のために特別にオンラインマニュアルページを検索できるディストリビューション固有(私の場合はDebian)の内部/組み込みコマンド(またはスイッチ)があることです。 :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.
IIRCdman
はスクリプトなので、変更して使用できます。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
PS:--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を使用
3番目のオプションとして、2017年1月から誰かエイリアス/スクリプトを使用して、新しいDebianのマンページのWebサイトに基づいてDebian nlineからマンページを抽出できます。これにより、現在使用中のパッケージの正しい/最新バージョンに直接移動できます。マンページから。考える:
alias debman='function __debman { links -dump https://manpages.debian.org/jump?q=$1 |awk "/Scroll to navigation/,0" |less; };__debman'
端末経由で呼び出す$ debman yade