マニュアルページ

さまざまなLinux ディストリビューションで見られるsedユーティリティのマニュアル ページ

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

デフォルトでは、通常、または などの端末ポケットベルプログラムをman使用して出力を表示します。 moreless

マニュアル ページは、コマンドがインターネット アクセスを必要としないにもかかわらず[1]、ソフトウェア ドキュメントのオンラインまたはオンライン形式と呼ばれることが多く、印刷されたアウトオブバンドマニュアルが標準だった 時代にまで遡ります。man

歴史

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

Unix などのGCOS が登場する以前、ドキュメントは印刷されたページであり、オンプレミスでユーザー (スタッフ、学生など) が利用でき、スチール製のバインダーに整理され、1 つのモノリシックなスチール製読書ラックにまとめてロックされ、テーブルまたはカウンターにボルトで固定されていました。モジュール情報の更新、置換、正誤表、および追加のために編成されたページ。[要出典]

Unix の歴史の最初の 2 年間、ドキュメントは存在しませんでした。[2] Unixプログラマーズ マニュアルは1971 年 11 月 3 日に初めて出版されました。最初の実際のマニュアル ページは、 1971 年にマネージャーのDoug McIlroyの強い要望[要出典]により、Dennis RitchieKen Thompsonによって書かれました。マニュアル ページとは別に、プログラマーズマニュアルには一連の短い文書も蓄積されており、その一部はチュートリアル(一般的な Unix の使用法、Cプログラミング言語、Yaccなどのツールに関するもの) であり、その他はオペレーティング システムの機能のより詳細な説明です。マニュアルの印刷版は当初 1 つのバインダーに収まっていましたが、PWB/UNIXおよびResearch Unix第 7 版では2 巻に分割され、印刷版のマニュアル ページが第 1 巻を構成しました。[3]

ドキュメントの後のバージョンは、最初のマニュアル ページの簡潔さを模倣しました。リッチーは第 3 版の紹介に「始め方」セクションを追加しロリンダ チェリーは第 6 版第 7版のポケット リファレンス「パープル カード」を提供しました[2]ソフトウェアのバージョンは、マニュアルの改訂に基づいて命名されました。たとえば、Unix Programmer's Manualの第 7 版は、Unix の第 7 版またはバージョン 7 に付属していました。[4]

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

man コマンドの man-db バージョンには、00:30 に実行されるとコマンドが「gimme gimme gimme」を返す隠されたイースターエッグがありました ( ABBAGimme ! Gimme! Gimme! (A Manへの言及) After Midnight) . 2011 年に導入されました[5]が、最初は制限され[6]、その後最終的に発見された後2017 年に削除されました [ 7 ] 。

書式設定

FreeBSD man(1)マニュアル ページの一部( PDF形式にタイプセット)

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

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

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

オンラインサービス

かなりの数の 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 コマンドのマニュアル ページを読むには、次のように入力します。

 <コマンド名>

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

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

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

man  -s  3c printf 

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

3プリント  

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

マニュアルセクション

マニュアルは通常、番号が付けられた 8 つのセクションに分かれています。現在のほとんどのシステム (例: BSD[15] macOSLinux[16]、およびSolaris 11.4) は、 Research Unixで使用されている番号付けスキームを継承しています[17] [18] System Vでは別の順序が使用されます: [19]

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

POSIX API はセクション 2 と 3 の両方にあり、セクション 2 にはシステム コールとして実装される API が含まれ、セクション 3 にはライブラリ ルーチンとして実装される API が含まれます。

一部のシステムでは、次のセクションの一部が利用可能です。

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

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

サブセクション 説明
p POSIX仕様
バツ X ウィンドウ システムのドキュメント

(セクション 3 は、さまざまな言語の接尾辞が多数あるため、例外となる傾向があります。)

の一部のバージョンでは、man最後に表示されたいくつかのページのフォーマットされたバージョンがキャッシュされます。1 つのフォームはcat pageで、表示のためにページャーにパイプされるだけです。

レイアウト

すべてのマニュアル ページは、単純なASCIIテキスト表示で表示するために最適化された共通のレイアウトに従っており、ハイライト表示やフォント コントロールは必要ありません。存在するセクションには以下が含まれる場合があります: [21] : マニュアル構造 

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

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

オーサリング

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

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

あまり工夫されていない形式のドキュメントをマニュアル ページに変換するために、いくつかのツールが使用されています。help2man例には、出力といくつかの追加コンテンツを取得して--helpマニュアル ページを生成するGNU が含まれます。[28]マニュアルは上記の出力よりもほとんど役に立ちませんが、GNU プログラムの場合、texinfo が主要な文書システムであるため、これは問題ではありません。[29] pandoc、 ronn 、 md2man などの多くのツールは、Markdownからマニュアル ページへの変換をサポートしています。manMarkdown は のセマンティック コンテンツと一致するほど十分な表現力を持たないため、これらすべてのツールは形式を出力しますmdocDocBookには man(7) コンバータが組み込まれていますが、別の mdoc(7) コンバータを作成した mandoc の著者[30]によれば、その品質は驚くべきものです。

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

代替案

初期のシンプルなハイパーテキストシステムであるGNU プロジェクトの" " システムmanを例外として、多くの人気を博した代替手段はほとんどありませんTLDR ページ( )として知られるサードパーティの取り組みもあり、これはチートシートに似た、一般的な使用例の簡単な例を提供します[32]infotldr

さらに、一部の Unix GUIアプリケーション (特にGNOMEおよびKDE開発環境を使用して構築されたもの) は、 HTMLでエンドユーザー ドキュメントを提供し、アプリケーション内のヘルプを読むための埋め込み HTML ビューアを備えていますyelpEmacsの HTML システムも texinfo に代わる予定です。[33]

こちらも参照

参考文献

  1. ^ "男(1)". FreeBSD 一般コマンドマニュアル2023-01-30 のオリジナルからアーカイブされました2023 年 7 月 15 日に取得
  2. ^ abc マキロイ医師(1987年)。Research Unix 読者: プログラマーズ マニュアル、1971 ~ 1986 年(PDF) (技術レポート) からの注釈付きの抜粋。CSTR。ベル研究所。139. 2017 年 11 月 11 日にオリジナルからアーカイブ(PDF)されました2015 年 2 月 1 日に取得
  3. ^ ab ダーウィン、イアン; コリアー、ジェフリー。「UNIX 進化: 1975-1984 パート I - 多様性」。2012 年 7 月 17 日のオリジナルからアーカイブ2012 年12 月 22 日に取得最初は1984 年 11 月のMicrosystems 5 (11) に掲載されました。
  4. ^ フィードラー、ライアン (1983 年 10 月)。「Unix チュートリアル / パート 3: マイクロコンピュータ市場における Unix」。バイトp. 132 2015 年1 月 30 日に取得
  5. ^ "GIT コミット 002a6339b1fe8f83f4808022a17e1aa379756d99". 2017 年 12 月 4 日のオリジナルからアーカイブ2017 年11 月 22 日に取得
  6. ^ "GIT コミット 84bde8d8a9a357bd372793d25746ac6b49480525". 2018年9月5日のオリジナルからアーカイブ2017 年11 月 22 日に取得
  7. ^ "GIT コミット b225d9e76fbb0a6a4539c0992fba88c83f0bd37e"。2020年11月9日のオリジナルからアーカイブ2018 年9 月 25 日に取得
  8. ^ "「なぜ人は 00:30 に「gimme gimme gimme」と印刷するのですか?". 2017 年 11 月 21 日のオリジナルからアーカイブ2017 年11 月 22 日に取得
  9. ^ Wright、Francis J.「WoMan: Unix マニュアル ページ「WO (without) Man」を参照」。GNU。2020年11月11日のオリジナルからアーカイブ2020 年8 月 3 日に取得
  10. ^ パーリ、ガボール編。(2013 年 5 月 12 日)。「FreeBSD 四半期状況レポート、2013 年 1 月から 3 月」。FreeBSD2014 年 12 月 22 日のオリジナルからアーカイブ2014 年12 月 25 日に取得
  11. ^ ムレーニン、コンスタンティン A. (2013 年 2 月 19 日)。「mdoc.su、短いマニュアルページ URL の発表」。[email protected] (メーリングリスト)。2014 年 8 月 7 日のオリジナルからアーカイブ2014 年12 月 25 日に取得
  12. ^ ムレーニン、コンスタンティン A. (2013 年 2 月 23 日)。「mdoc.su — FreeBSD、OpenBSD、NetBSD、および DragonFly BSD の短いマニュアル ページ URL」。2014 年 12 月 17 日のオリジナルからアーカイブ2014 年12 月 25 日に取得
  13. ^ "オンラインの Linux マニュアル ページ". man7.org2020-05-07 のオリジナルからアーカイブされました2020年5月5日に取得
  14. ^ 「について」。マンキアー2020-04-25 のオリジナルからアーカイブされました2020年5月5日に取得
  15. ^ abc man(1) –  FreeBSD一般コマンドマニュアル
  16. ^ ab man(1) –  Linux一般コマンドマニュアル
  17. ^ “Research Unix 第 8 版のマニュアル ページ”. man.cat-v.org2020-06-30 のオリジナルからアーカイブ2020年5月6日に取得
  18. ^ ab 「Unix プログラマーズ マニュアル - はじめに」。www.bell-labs.com1971年11月3日。2020年6月1日のオリジナルからアーカイブ2020 年5 月 6 日に取得
  19. ^ 「System V リリース 4 マニュアル」. bitsavers.trailing-edge.com2020-08-03 のオリジナルからアーカイブ2020年5月6日に取得
  20. ^ "lapack (l) - Linux マニュアル ページ". www.systutorials.com2023-03-11 のオリジナルからアーカイブされました2021年5月29日に取得
  21. ^ ab mdoc(7) –  FreeBSDその他の情報マニュアル
  22. ^ groff_tmac(5)  –  Linuxファイル形式マニュアル
  23. ^ man(7)  –  Linuxその他マニュアル
  24. ^ “グロフのミッションステートメント - 2014”. www.gnu.org2020-12-03 のオリジナルからアーカイブ2021年1月2日閲覧man(7) の作業と並行して、mdoc(7) も積極的にサポートされ、その使用が促進されます。
  25. ^ 「男」。GNU Troff マニュアル2019年12月24日のオリジナルからアーカイブ2019 年12 月 31 日に取得
  26. ^ "nosh ユーザー空間仮想端末のマニュアル ページの斜体と色". jdebp.eu2021年1月28日のオリジナルからアーカイブ2021年1月21日に取得
  27. ^ mandoc(1)  –  FreeBSD一般コマンドマニュアル。「フォント スタイルはバックスペース エンコーディングを使用して適用されます...」
  28. ^ 「help2man リファレンス マニュアル」. 2023年3月6日のオリジナルからアーカイブ2023 年3 月 5 日に取得
  29. ^ "マニュアル ページ (GNU コーディング標準)". www.gnu.org2023-03-05 のオリジナルからアーカイブされました2023-03-05に取得
  30. ^ インゴ・シュヴァルツェ。「新しい mandoc -mdoc -T マークダウン コンバーター」。undeadly.org2023-03-05 のオリジナルからアーカイブされました2023-03-05に取得– 著者による具体的な苦情については、Ingo Schwarze (2014 年 2 月 28 日) を参照してください。「Re: Groff マニュアル ページ (Future Redux に近い)」。グロフ(メーリングリスト)。2023年3月5日のオリジナルからアーカイブ。
  31. ^ "コマンド ライン - さまざまな言語の Linux マニュアル ページ". Ubuntu に問い合わせてください2023-03-11 のオリジナルからアーカイブされました2020年5月5日に取得
  32. ^ "TLDR ページ". tldr.sh2020年4月27日のオリジナルからアーカイブ2020年5月5日に取得
  33. ^ Raymond、Eric S.「Re: [Groff] マニュアル ページ (Future Redux に接しています)」。groff (メーリングリスト)。2023-03-05 のオリジナルからアーカイブされました2023 年 3 月 5 日に取得– lists.gnu.org 経由。

外部リンク

  • 「UNIX マンページの歴史」では、UNIX マニュアル ページの主要なソースの歴史を説明します。
  • UNIX および Linux のマニュアル ページ リポジトリには、適切にフォーマットされたマニュアル ページが約 300,000 あります。
  • マニュアルページの数字は何を意味しますか?
  • FreeBSD マニュアル ページ、freebsd.org – Darwin、Debian、HP-UX、IRIS、NetBSD、OpenBSD、NextSTEP、SunOS などのマニュアル ページもあります
「https://en.wikipedia.org/w/index.php?title=Man_page&oldid=1205268942」から取得