MAN ファイル形式とは?
拡張子.manを持つファイルには、roffソースマークアップで記述されたUnixユーザーマニュアルが含まれています。マニュアルページ(manページ)は、manコマンドに続けてプログラム、関数、またはトピックの名前を入力することでアクセスできます。ソースは*man*マクロパッケージを使用します。これはドットで始まるディレクティブ(.TH、.SH、.B、.TP)のセットで、manがgroffまたはmandocを介してオンデマンドでレンダリングします。テキストエディタで.manファイルを開くと、整形されたページではなく、これらの生のマークアップが表示されます。.manファイルは、太字、斜体、インデント、表のレイアウトを制御するための表示フォーマットマクロをサポートしています。
.manはプレーンテキストファイルであり、任意のテキストエディタで開くことができますが、ユーザーマニュアルは通常、コマンドラインから呼び出されるシステムツールmanを使用してアクセスされます。多くのグラフィカルなシステム環境では、manドキュメントを表示するためのさまざまなツールが提供されています。マニュアルページは以下のセクションに分かれています:
- NAME - プログラム、ツール、ライブラリ、または関数の名前と、それに続く短い説明
- SYNOPSIS - コマンドのパラメータとオプション、およびオプションでC関数のシグネチャ
- DESCRIPTION - コマンドとその機能の詳細な説明
- EXAMPLES - コマンドの使用例
- SEE ALSO - 関連する関数やコマンドのリスト
Unix/Linuxのユーザーマニュアルは、通常ディスク上に.manファイルとして保存されることは一般的ではありません。通常、マニュアルはファイルが属するマニュアルのセクションを示すサフィックス(例:ls.1やprintf.3)を付けて保存され、インストールされたページは通常name.section.gzとしてgzip圧縮されており、manによって透過的に解凍されます。マニュアルページは通常英語ですが、一部のマニュアルはさまざまなディストリビューションでローカライズされています。
マニュアルドキュメントは番号付きのセクションに分かれています。manコマンドはデフォルトで、Unix System Vでは7つ、Linux/BSDでは8つあるセクションのうち、最初に一致したエントリを表示します:
- 一般コマンド
- システムコール
- Cライブラリ関数
- 特殊ファイルとデバイスドライバ
- ファイル形式と設定ファイル
- ゲームとスクリーンセーバー
- その他 / 概要ページ
- システム管理とデーモン (Linux/BSDのみ)
特定のセクションにアクセスするには、man セクション番号 名前(例:man 5 passwd)を実行する必要があります。マニュアルの出力は、読みやすくするためにcatやlessなどの別のアプリケーションにリダイレクトできます。
セキュリティと安全性
リスク: LOWmanページのソースはプレーンテキストであり、表示時に実行されることはありません。唯一の理論的な注意点は、roffがチューリング完全なマクロ言語であり、groffには歴史的にパースのバグがあったことです。そのため、完全に信頼できないソースからの.manをレンダリングする場合は、フル機能のgroffよりも、より安全でサンドボックス化されたmandocを使用するのが最善です。通常の使用(パッケージやプロジェクトからのドキュメントを読む場合)では、.manファイルは無害です。テキストエディタで開くことは完全に安全です。レジストリハイブでありドキュメントではないWindowsの.man必須プロファイルと混同しないでください。
形式の詳細
概要- Windows 2000/XP 必須ユーザープロファイル - レガシーなWindowsの.manファイルは、読み取り専用の移動ユーザープロファイル(名前が変更されたNTUSER.DATレジストリハイブ)であり、Unixのmanページとは無関係です。
- FoxPro / dBASE メモリ/メニューファイル - 一部の古いDOSデータベースツールは、コンパイルされたメニューまたはメモデータに.manを使用していましたが、現在は廃止されています。
MAN ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルエンコーディング | ASCIIまたはUTF-8プレーンテキスト。バイナリコンテンツやバイトオーダーマーク(BOM)は不要 |
| MIMEタイプ | text/troff(プライマリ)。application/x-troff-manまたはtext/plainとしても認識される |
| マークアップ言語 | manマクロパッケージ(an-oldマクロ)を使用したroff/troff。ドットで始まるマクロ呼び出しは行の先頭にある必要がある |
| タイトルマクロ | .TH (title header) - 通常、最初の非コメント行。ページ名、セクション番号、日付、およびソースパッケージを宣言する |
| 標準セクション | NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXAMPLES, FILES, ENVIRONMENT, BUGS, SEE ALSO - それぞれ.SHマクロによって導入される |
| マニュアルページのセクション番号 | 伝統的なUnix (System V) では7セクション、LinuxおよびBSDでは8セクション。セクション8はシステム管理コマンドをカバーする |
| 典型的なファイルサイズ | 1 KB - 100 KB。ほとんどのページは5 KBから30 KBの間 |
| ディスク上の圧縮 | インストールされたページは一般的にgzip圧縮(例:ls.1.gz)されており、読み取り時にmanによって透過的に解凍される |
| レンダリングエンジン | Linuxではgroff (GNU troff)。BSDおよび現代のmacOSでは、デフォルトのmanレンダラーとしてgroffに代わってmandocが使用される |
| 一般的なファイル命名 | ディスク上ではセクション番号の拡張子が標準(ls.1, printf.3, passwd.5)。.man拡張子は主にサードパーティ製または同梱のドキュメントで使用される |
| インストールパス | LinuxおよびBSDでは /usr/share/man/manN/(Nはセクション番号)。macOSも同じディレクトリレイアウトで /usr/share/man/ を使用する |
| 出力形式 | ページャ(less)を介したターミナルテキスト、PostScript、PDF、HTML、およびプレーンテキスト。これらはすべてgroff -Tによってオンデマンドで生成される |
| 関連するソース形式 | mdoc (BSDの代替マクロセット)、pod2man (Perl PODからmanへ)、Sphinx manビルダー、およびronn (Markdownからmanへのコンバーター) |
| 開発者 / 起源 | Bell Labs (オリジナルのUnix manシステム、1971年)。manマクロとgroffはGNU Projectによって保守されている |
| リリース日 | 1971 (Unix Programmer's Manual, V1); man macros standardized through the 1970s-80s |
| 最新バージョン | N/A (roff/man-macro convention; groff is the active implementation) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | man7.org |
MAN の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。MAN ファイルについて最初の質問をしてみましょう。