私の知識/理解によれば、help と man は同時に登場したか、または両者の間にはわずかな時間差しかありません。その後、GNU Info が登場しましたが、私が見た限りでは、man よりもはるかに冗長で、はるかに詳細で、間違いなくはるかに優れています。man の多くのエントリは今日でも難解です。
私は、多くの点で man よりも優れている Info が、なぜ man にまったく成功しなかったのかとよく考えます。今でも、info ページよりも man ページを作成している人を見かけます。これは、info のツールが役に立たなかったからでしょうか。2 つのライセンスに何か問題があったのでしょうか。それとも、info が当然受けるべき成功を収められなかった他の要因でしょうか。
私はUnix StackExchangeでいくつかの質問を見ました。GNU Info の目的は何ですか?そしてhelp、info、manコマンドの違い他にもいろいろあります。
答え1
あなたの質問に事実の背景を少なくとも少しは示して答えるために、私はまずman
、、info
およびその他のドキュメンテーション システムの作成のタイムラインを調べることを提案します。
最初のman
ページ1971年に書かれたCRT ベースの端末で作業することが一般的ではなく、マニュアル ページの印刷が標準であった時代に、troff (nroff はまだ存在していませんでした) を使用しました。マニュアル ページは、単純な線形構造を使用します。マニュアル ページは通常、コマンドの簡単な概要 (コマンドライン オプション/スイッチを含む) を示します。
コマンドはinfo
実際には以下の出力を処理します。テクスインフォタイプセッティング構文。これは 1986 年 2 月に最初にリリースされました。当時は Unix ユーザーにとってテキスト ベースの CRT での作業が標準でしたが、グラフィカル ワークステーションはまだ排他的でした。Texinfo.info
からの出力は、テキスト ドキュメントの基本的なナビゲーションを提供します。そして、最初から完全なドキュメントを提供するという別の目標があります (GNU プロジェクト用)。コマンドの使用やコマンド ライン スイッチなどは、プログラムの Texinfo ファイルに含まれる内容のほんの一部にすぎません。
重複はあるものの、(Tex)infoシステムは補体ページman
を置き換えないでください。
HTML と Web ブラウザは 90 年代初頭に登場し、WAIS と Gopher に基づくテキスト ベースの情報システムを比較的短期間で置き換えました。Web ブラウザは、当時利用可能なグラフィカル システムを利用しており、テキストのみのシステムよりも多くの情報 (ハイパーリンクの下線付きテキストなど) を表示できます。 info
提供される機能は HTML と Web ブラウザでエミュレートできるため (変換後に可能)、ブラウザ ベースのシステムではナビゲーションがはるかに簡単になります (または、少なくとも経験や学習が少なくて済みます)。
HTML は拡張され、Texinfo よりも多くのことができるようになりました。そのため、新しいプロジェクト (GNU ソフトウェア以外) では、さまざまなドキュメント システムが開発され (現在も開発中)、そのほとんどは HTML ページを生成します。これらのシステムの最近の傾向は、入力 (つまり、ドキュメント作成者が提供しなければならないもの) を人間が読めるものにすることですが、Texinfo (および troff) は、それらを変換するプログラムによる効率的な処理に重点を置いています。¹
info
マニュアル ページの代わりとなることを意図したものではありませんが、GNU ソフトウェアに (より大きな) Texinfo ファイルからマニュアル ページを生成する同様のプログラムが含まれていれば、マニュアル ページを置き換えることがinfo2man
できたかもしれません。
Texinfo、(La(TeX、troff、HTML (+CSS)、reStructured Text などのシステムが提供する機能を十分に活用するには習得に時間がかかり、また、それらのいくつかは習得が容易で、より強力であると主張する人もいるという事実と合わせると、(Tex) が市場を独占する可能性はほとんどありませんinfo
。
¹例再構築されたテキスト、これはマニュアルページを書くのにも使えます
答え2
GNU info は TOPS-20 の XINFO に先行し、影響を受けました。
XINFO は MIT ITS の INFO に先行し、影響を受けました。
昔はディスクは小さい、端末は遅い当時、多くの端末は依然として紙で、いわゆる「ガラスTTY」はカーソルアドレス指定などの機能を提供していなかった。マニュアルページは短く、メモ程度で、実際のドキュメントではなかった。システム管理者がおそらくスペースを節約するためにマシンから削除するのではなく、圧縮された出力をそのまま残すこともできます。最も粗雑な端末に表示したり、きれいにタイプセットしたりできます。Unix ディストリビューションに付属のソフトウェアのみを使用して新しいマニュアル ページを作成し、ノードとエッジの曲がりくねった迷路を盲目的にナビゲートすることなく、すばやく読むことができます。これは、ローグやゾークをプレイするのとまったく同じです。
最終的にtkmanのようなプログラムにより、man形式を維持しながらinfoやHTMLの利点の一部を得ることが可能になり、SunのようなベンダーがSGMLやXML(docbook)でドキュメントを提供するようになったときでも、man形式に変換して処理されていました。なぜなら、manツールが必要だったからです。ないベンダーによって提供されます。
システム管理者がドキュメント ファイルを削除したり、インストールしなかったりするということでしょうか? Linux では今でも、「apt install foobar」を実行するには、別の「apt install foobar-doc」が必要になることがよくあります。
答え3
M-x man RET info RETinfo プログラム内で info プログラムのマニュアル ページを表示します。
私の見解では、この機能は、info プログラムが man プログラムに続くものであることを証明しています (man プログラムでこれの逆を実現する方法がない限り)。