マニュアルページ

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
さまざまなLinuxディストリビューションで見られるman(1)のmanページこのバージョンはman-dbからのものです。

マニュアルページ(マニュアルページ略)は、 UnixまたはUnixライクなオペレーティングシステムで通常見られるソフトウェアドキュメントの形式です取り上げるトピックには、コンピュータープログラムライブラリシステムコールを含む)、正式な標準と規則、さらには抽象的な概念が含まれます。ユーザーは、コマンドを発行してマニュアルページを呼び出すことができます man

デフォルトでは、man通常、またはなどのターミナルページャプログラムを使用してその出力を表示します。 moreless

マニュアルページは、オンラインまたはオンライン形式のソフトウェアドキュメントと呼ばれることがよくあります[1]。コマンドはインターネットアクセスを必要としませんが、印刷された帯域外マニュアルが標準 であっmanた時代にまでさかのぼります。

歴史

xman 、マニュアルページを表示するための初期のX11アプリケーション
OpenBSDセクション8のイントロマニュアルページ、テキストコンソールに表示

Unixの歴史の最初の2年間、ドキュメントは存在しませんでした。[2] Unixプログラマーマニュアル1971年11月3日に最初に発行されました。最初の実際のマニュアルページは、1971年にマネージャーのダグマキルロイの主張[引用が必要]でデニスリッチーケントンプソンによって書かれました。プログラマーズマニュアルには、一連の短い論文も蓄積されており、そのうちのいくつかはチュートリアル(たとえば、一般的なUnixの使用法、Cプログラミング言語、 Yaccなどのツール)です。)、およびその他のオペレーティングシステム機能の詳細な説明。印刷版のマニュアルは最初は単一のバインダーに収まりましたが、PWB /UNIXResearchUnixの第7版時点で、印刷されたマニュアルページが第1巻を形成する2つの巻に分割されました。[3]

ドキュメントの新しいバージョンは、最初のマニュアルページの簡潔さを模倣していました。リッチーは第3版の紹介に「開始方法」セクションを追加し、ロリンダチェリーは第6版と第7版の「パープルカード」ポケットリファレンスを提供しました[2]ソフトウェアのバージョンは、マニュアルの改訂にちなんで名付けられました。たとえば、Unixプログラマーズマニュアルの第7版には、 Unixの第7版またはバージョン7が付属しています。[4]

4版では、マニュアルページはtroff植字パッケージ[2]とその-manマクロのセットを使用してフォーマットされました(マニュアルの第6版と第7版の間で完全に改訂されましたが[3]、その後大幅に変更されていません)。当時、マニュアルページシステムによるオンラインドキュメントの利用可能性は大きな進歩と見なされていました。今日まで、事実上すべてのUnixコマンドラインアプリケーションにはマニュアルページが付属しており、多くのUnixユーザーは、プログラムにマニュアルページがないことを低品質の兆候として認識しています。実際、 Debianなどの一部のプロジェクトは、マニュアルページがないプログラムのマニュアルページを作成するのに邪魔になりません。4.4BSDの現代の子孫-manまた、システムドキュメントの主要な形式の1つとしてマニュアルページを配布します(古いマクロを新しいマクロに置き換えました-mdoc)。

manコマンドのman-dbバージョンに隠されたイースターエッグがあり、00:30に実行するとコマンドが「gimmegimme gimme」を返すようになりました(ABBAの曲Gimme!Gimme!Gimme!(A Man真夜中以降)。2011年に導入されましたが[5]、最初は制限され[6] 、最終的に発見された後、2017年に削除されました[7] 。 [8]

フォーマット

FreeBSD man(1)マニュアルページの一部で、PDF形式に植字されています。

マニュアルページのデフォルトの形式はtroffで、マクロパッケージman(外観指向)またはmdoc(セマンティック指向)のいずれかを使用します。これにより、manページをPostScriptPDF、およびその他のさまざまな形式でタイプセットして表示または印刷することができます。

一部のUnixシステムには、man2htmlコマンドのパッケージがあり、ユーザーはHTMLブラウザを使用してmanページを参照できます。groffとman-dbを使用するシステムでは、代わりに高品質のネイティブHTML出力(man --html)を使用する必要があります。GNU EmacsプログラムWoMan"WithOut man"から)を使用すると、エディターからmanページを参照できます。[9]

2010年、OpenBSDはmanページをフォーマットするためのtroffを廃止し、 PostScriptHTMLXHTML、およびターミナルでの出力をネイティブにサポートするmanページ専用のコンパイラ/フォーマッタであるmandocを採用しました。これは、マニュアルページで使用されるtroffのサブセット、特にmdocマクロを使用するもののみをサポートすることを目的としています。

オンラインサービス

かなりの数のWebサイトが、さまざまなUnixライクなシステムからのマニュアルページへのオンラインアクセスを提供しています。

2013年2月、BSDコミュニティでは、新しいオープンソースのmdoc.suサービスが開始されました。このサービスは、* BSD man向けの独自のnginxベースの確定的URL短縮サービスを通じて、主要な最新BSDプロジェクトのman.cgiスクリプトへのアクセスを統合および短縮しました。ページ。[10] [11] [12]

Linuxの場合、システムに固有のマニュアルを提供するためにman7.orgサービスが設定されています。[13] ManKierサービスは幅広い選択肢を提供し、TLDRページも統合します。[14]

コマンドの使用法

Unixコマンドのマニュアルページを読むには、ユーザーは次のように入力できます。

man <command_name>

ページは従来、「name(section)」という表記を使用して参照されます。たとえば、ftp(1)このセクションでは、トピックを参照するさまざまな方法について説明します。たとえば、システムコール、シェル(コマンドライン)コマンドまたはパッケージ、パッケージの構成ファイル、コーディング構成/ヘッダーなどです。

システムコール、ユーザーコマンドマクロパッケージの名前が一致する場合など、同じページ名がマニュアルの複数のセクションに表示される場合があります。例はman(1)、およびman(7)またはです。デフォルト以外の手動セクションにアクセスするための構文は、manの実装によって異なります。 exit(2)exit(3)

たとえば、Solarisとillumosでは、読み取りの構文printf(3C)は次のとおりです。

man -s 3c printf

LinuxおよびBSD派生物では、同じ呼び出しは次のようになります。

man 3  printf

これは、マニュアルページのセクション3で printfを検索します。

手動セクション

マニュアルは通常、8つの番号付きセクションに分かれており、次のように構成されています(Research UnixBSDmacOS、およびLinuxの場合):[15] [16] [17] [18]

セクション 説明
1 一般的なコマンド
2 システムコール
3 特にC標準ライブラリをカバーするライブラリ関数
4 特別なファイル(通常はデバイス、/ devにあるもの)とドライバー
5 ファイル形式と規則
6 ゲームスクリーンセーバー
7 その他
8 システム管理コマンドデーモン

POSIXシステムコールはセクション2と3の両方に存在することが多く、セクション2にはローカルオペレーティングシステムからのシステムコールのドキュメントが含まれ、セクション3にはPOSIXプログラマーズマニュアルからのシステムコールのドキュメントが含まれます。[要出典]

Unix System Vは、順序が異なることを除いて、同様の番号付けスキームを使用します。[19]

セクション 説明
1 一般的なコマンド
1M システム管理コマンドデーモン
2 システムコール
3 Cライブラリ関数
4 ファイル形式と規則
5 その他
6 ゲームスクリーンセーバー
7 特別なファイル(通常はデバイス、/ devにあるもの)とドライバー

一部のシステムでは、次のセクションの一部を使用できます。

セクション 説明
0 Cライブラリ ヘッダーファイル(Unix v6)
9 カーネルルーチン(FreeBSD、SVR4、Linux)[18] [16]
l LAPACKライ​​ブラリ関数[20]
n Tcl / Tkコマンド
バツ Xウィンドウシステム

一部のセクションは、接尾辞によってさらに細分化されます。たとえば、一部のシステムでは、セクション3CはCライブラリ呼び出し用、3Mは数学ライブラリ用などです。この結果、セクション8(システム管理コマンド)がメインコマンドセクションの1Mサブセクションに追いやられることがあります。一部のサブセクションの接尾辞は、セクション全体で一般的な意味を持ちます。

サブセクション 説明
p POSIX仕様
バツ XWindowSystemのドキュメント

(セクション3は、さまざまな言語の多くの接尾辞を除いて例外になる傾向があります。)

manの一部のバージョンは、最後に表示された数ページのフォーマットされたバージョンをキャッシュします。1つのフォームは猫のページで、表示のためにポケットベルにパイプされます。

レイアウト

すべてのマニュアルページは、単純なASCIIテキストディスプレイでの表示​​用に最適化された共通のレイアウトに従います。おそらく、強調表示やフォント制御の形式はありません。存在するセクションには、次のものが含まれる場合があります。[21] :手動構造 

名前
コマンドまたは関数の名前と、それに続く1行の説明。
概要
コマンドの場合、コマンドの実行方法と必要なコマンドラインオプションの正式な説明。プログラム関数の場合、関数が取るパラメーターのリストと、その宣言が含まれているヘッダーファイル。
説明
コマンドまたは機能の機能のテキストによる説明。
一般的な使用法のいくつかの例。
関連項目
関連するコマンドまたは機能のリスト。

他のセクションが存在する場合もありますが、これらはマニュアルページ全体で十分に標準化されていません。一般的な例としては、オプション、終了ステータス、戻り値、環境、バグ、ファイル、作成者、レポートバグ、履歴、著作権などがあります。

オーサリング

マニュアルページは、古いmanマクロ、新しいdocマクロ、または両方の組み合わせ(mandoc)のいずれかで書き込むことができます。[22]マクロセットは、タイトル行、セクションヘッダー、(太字、小文字、または斜体)フォント、段落、およびインデントの追加/削減のためのディレクティブを備えた、man最小限のリッチテキスト関数を提供します[23]新しいmdoc言語は本質的によりセマンティックであり、プログラム名、概要、関数名、作成者の名前など、ほとんどの標準セクションに特化したマクロが含まれています。この情報は、 mandocなどのプログラムによるマニュアルのセマンティック検索を実装するために使用できます。スタイリングを直接制御するためのディレクティブも含まれていますが、特殊なマクロがほとんどのユースケースをカバーすることが期待されます。[21] mandocプロジェクトとgroffプロジェクトはどちらも、mdoc新しいドキュメントに適した形式を検討しています。[24]

マニュアルページは、10ポ​​イントのローマン体を使用してレイアウトされたテキストですが、マンページは紙にレイアウトされるのではなく、ターミナル(TTY)で表示されるため、通常、この区別は重要ではありません。その結果、「小さいフォント」マクロはめったに使用されません。[25]一方、太字と斜体のテキストはECMA-48を介して端末によってサポートされており、groffgrottyは、サポート端末を検出すると、要求に応じてそれらを出力します。ただし、BSDマンドックは、タイプライターのバックスペース-その後のオーバーストライクシーケンスを介した太字で下線付きの(イタリックの代わりとして)テキストのみをサポートします。これは、によってECMA-48に変換する必要がありますless[26] [27]

マニュアルページは通常英語で書かれていますが、他の言語への翻訳がシステムで利用できる場合があります。GNUman-dbとマンドックmanは、サブディレクトリの下でローカライズされたマニュアルページを検索することが知られています。[28] [15] :概要 [16]

代替案

GNU Projectの" "システム、初期の単純なハイパーテキストmanシステムを除いて、多くの人気を博した代替案はほとんどありません虎の巻に似た、一般的なユースケースの簡単な例を提供するTLDRページ()と呼ばれるサードパーティの取り組みもあります。[29]infotldr

さらに、一部のUnix GUIアプリケーション(特にGNOMEおよびKDE開発環境を使用して構築されたもの)は、 HTMLでエンドユーザーのドキュメントを提供yelpし、アプリケーション内のヘルプを読むため などの埋め込みHTMLビューアを含みます。

も参照してください

参照

  1. ^ 「man(1)—オンラインマニュアルドキュメントページを表示する」BSD相互参照FreeBSD 2019年4月1日取得manユーティリティは、オンラインのマニュアルドキュメントページを見つけて表示します。
  2. ^ a b c McIlroy、MD(1987)。Research Unixリーダー:プログラマーマニュアル、1971年から1986年(PDF)(テクニカルレポート)からの注釈付きの抜粋。CSTR。ベル研究所。139。
  3. ^ a b ダーウィン、イアン; コリアー、ジェフリー。「UNIXの進化:1975-1984パートI-多様性」2012年12月22日取得1984年11月にMicrosystems5 (11)で最初に公開されました。
  4. ^ フィードラー、ライアン(1983年10月)。「Unixチュートリアル/パート3:マイクロコンピュータマーケットプレイスのUnix」BYTEp。132 2015年1月30日取得
  5. ^ 「GITコミット002a6339b1fe8f83f4808022a17e1aa379756d99」2017年11月22日取得
  6. ^ 「GITコミット84bde8d8a9a357bd372793d25746ac6b49480525」2017年11月22日取得
  7. ^ 「GITコミットb225d9e76fbb0a6a4539c0992fba88c83f0bd37e」2018年9月25日取得
  8. ^ "「なぜ男は00:30に「gimmegimmegimme」を印刷するのですか?」" 。 2017年11月22日取得
  9. ^ Wright、Francis J. 「WoMan:Unixのマニュアルページを閲覧する」「WO(なし)Man」"。GNU 。 2020年8月3日取得
  10. ^ パーリ語、ガボール編 (2013年5月12日)。「FreeBSDQuarterlyStatusReport、2013年1月から3月」FreeBSD 2014年12月25日取得
  11. ^ Murenin、Constantine A.(2013年2月19日)。「mdoc.suの発表、短いマニュアルページのURL」[email protected](メーリングリスト)2014年12月25日取得
  12. ^ Murenin、Constantine A.(2013年2月23日)。"mdoc.su — FreeBSD、OpenBSD、NetBSDおよびDragonFlyBSDの短いマニュアルページのURL" 2014年12月25日取得
  13. ^ 「オンラインのLinuxマニュアルページ」man7.org
  14. ^ 「について」ManKier
  15. ^ a b man(1)  –Linux 一般コマンドマニュアル
  16. ^ a b c man(1)  –FreeBSD 一般コマンドマニュアル
  17. ^ 「ResearchUnix第8版のマニュアルページ」man.cat-v.org
  18. ^ ab "Unixプログラマーズマニュアル-はじめ" 。www.bell-labs.com1971年11月3日。
  19. ^ 「SystemVリリース4マニュアル」bitsavers.trailing-edge.com
  20. ^ "lapack(l)-Linuxのマニュアルページ"www.systutorials.com 2021-05-29を取得
  21. ^ a b mdoc(7)  –FreeBSD その他の情報マニュアル
  22. ^ groff_tmac(5)  –Linux ファイルフォーマットマニュアル
  23. ^ man(7)  –Linux その他マニュアル
  24. ^ 「Groffの使命声明-2014」www.gnu.orgman(7)の作業と同時に、mdoc(7)が積極的にサポートされ、その使用が促進されます。
  25. ^ 「男」GNUTroffマニュアル2019年12月31日取得
  26. ^ 「noshユーザースペース仮想端末のマニュアルページの斜体と色」jdebp.eu
  27. ^ mandoc(1)  –FreeBSD 一般コマンドマニュアル「フォントスタイルは、バックスペースエンコーディングを使用して適用されます...」
  28. ^ 「コマンドライン-さまざまな言語のLinuxマニュアルページ」Ubuntuに聞いてください
  29. ^ 「TLDRページ」tldr.sh。 _

外部リンク