manページの数字はどういう意味ですか?


474

したがって、たとえば、入力するman lsとが表示されLS(1)ます。しかし、私が入力した場合、私man apachectlは表示さAPACHECTL(8)れ、私が入力した場合、私man cdはで終わるcd(n)

かっこ内の数字の意味は、もしあれば、どういう意味なのかと思います。




4
@PeterMortensenこれが、SuperUserとUnix / LinuxとServerFaultとAskUbuntuとAppleをすべてマージする必要がある理由です。
クロエ

補足として、次のように独自の検索順序を設定できますexport MANSECT=0p:1:2:3:3p:4:5:6:7:8:9:l:s:n
meuh

これは巨大なUX障害です。デジタルドキュメントにはセクション番号を付けないでください。わかりやすい名前とハイパーリンクが必要です。私は、彼らがこの質問を121000回見ているほど混乱させるような文書を作成したとは信じられません。
イオノ

回答:


497

番号は、そのページのマニュアルのセクションに対応しています。1はユーザーコマンドで、8はsysadminのものです。man自体のマニュアルページ(man man)で説明され、標準的なものがリストされています。

MANUAL SECTIONS
    The standard sections of the manual include:

    1      User Commands
    2      System Calls
    3      C Library Functions
    4      Devices and Special Files
    5      File Formats and Conventions
    6      Games et. al.
    7      Miscellanea
    8      System Administration tools and Daemons

    Distributions customize the manual section to their specifics,
    which often include additional sections.

異なるセクションに異なるページを持つ特定の用語があります(たとえばprintf、セクション1にコマンドがstdlib表示され、セクション3に関数が表示されます)。そのような場合man、ページ名の前にセクション番号を渡して必要なものを選択するか、man -a一致するすべてのページを行に表示するために使用できます。

$ man 1 printf
$ man 3 printf
$ man -a printf

用語がどのセクションに属するかを確認できますman -kaproposコマンドと同等)。部分文字列の一致も行います(たとえば、sprintf実行すると表示されますman -k printf^term

$ man -k '^printf'
printf               (1)  - format and print data
printf               (1p)  - write formatted output
printf               (3)  - formatted output conversion
printf               (3p)  - print formatted output
printf [builtins]    (1)  - bash built-in commands, see bash(1)

5
それは確かにそれを説明しています。特定のコマンドに複数のマニュアルページがあるかどうかを簡単に伝える方法はありますか?
Wilduck

2
@ウィルはい、編集
マイケル・

11
これらのセクション番号はLinux用です。1、3、および6は、すべてのUNIXバリアントで同じですが、他のセクションと1桁以外のセクションは異なる場合があります。通常man X intro、セクションの内容を説明しますX
ジル

2
@KeithB:異なる4,5,7,8でいくつかのユニックスを使用しました。Digital Unix(OSF1)にはありましたが、Solarisにはまだあります:ファイル形式4、その他5、デバイス7。Solarisも管理者コマンドを1mに配置します。2のシステムコールは普遍的だと思いますが、一部のシステムには2のCライブラリインターフェイスもあります(それらは、同名のシステムコールの薄いラッパーであるはずです)。
ジル

4
マニュアルを使用するためにはマニュアルが必要だと思っていた人は...今まで実行したことがないman man...
マットクラーク

59

これらのセクション番号の歴史は、1971年にトンプソンとリッチーが作成した元のUnixプログラマーズマニュアルに遡ります。

元のセクションは

  1. コマンド
  2. システムコール
  3. サブルーチン
  4. 特別なファイル
  5. ファイル形式
  6. ユーザー維持プログラム
  7. その他

確かに、70年代からのより多くのもの。80年代からだと思った。
ロルフ

「その他」とは、主に「特定のAPIエンドポイントではなく、サブシステム全体または汎用Unix機能に関する広範な情報」を意味します。例えば参照pipe(7)tcp(7)(および他のいくつかのネットワークのmanページ)、 、pthreads(7)boot(7)regex(7)などの他のものは、同様のセクション7にあります、のようなascii(7)(ASCIIテーブル)とman(7)(manページを作成する方法)が、幅広いドキュメントページは、これまでです私の経験のセクション7で最も役立つこと。
ケビン

31

konquerorは、非標準セクションについても説明します(アイデアについては@ greg0ireに感謝します)。

0     Header files
0p    Header files (POSIX)
1     Executable programs or shell commands
1p    Executable programs or shell commands (POSIX)
2     System calls (functions provided by the kernel)
3     Library calls (functions within program libraries)
3n    Network Functions
3p    Perl Modules
4     Special files (usually found in /dev)
5     File formats and conventions eg /etc/passwd
6     Games
7     Miscellaneous  (including  macro  packages and conventions), e.g. man(7), groff(7)
8     System administration commands (usually only for root)
9     Kernel routines
l     Local documentation
n     New manpages

21

すでに説明していることを意味しますが、各セクションには特別なマニュアルページがあり、導入部もあることを付け加えますintro。たとえば、man 1 introまたはman 3 introなどを参照してください。


1
Fedoraのインストールにこれが表示されません。man Xイントロは標準ではありませんか?
beatgammit

@tjameson man-pagesパッケージはインストールされていますか?
php-coder

15

manマンページから:

The table below shows the section numbers of the manual followed by the 
types of pages they contain.

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

なぜ彼らがそのように分離しているのか-いくつかの重複があります。特定のマンページは、意味に応じて複数のセクションに存在します。

たとえば、と比較man crontabしてくださいman 5 crontab-後者はあなたが調べたいものです。


そして、何ですman1pman3p
ティロ

そして、どこに自分のマンページを置くべき~/manですか?
ティロ

数字が違うことは知っていましたが、それに韻があることは知りませんでした。ありがとう
-user606723

1
1pは、このマニュアルのposix標準バージョンです。移植可能なコードを作成する場合は、Xpのマニュアルページのみを使用する必要があります。実装がPOSIXに準拠していない場合、XとXpのマニュアルページは異なる可能性があります。
andcoz

私の答えを参照@Tyilo
Babken Vardanyan

8

これらはセクション番号です。man mankonquerorと入力するか、開いてman:// manと入力すると、これらのセクションが表示されます。


7

多くの場合、manページは、括弧で囲まれたセクションで接尾辞を付けて参照されます。例:

read(2)

このスタイルには、主に2つの利点があります。

  • マニュアルページを参照することはすぐに明らかになります。つまり、 'cf。「cf.」の代わりに「read(3)」readのセクション3のマニュアルページ
  • 複数のセクションに同じ名前のマニュアルページが含まれる場合、セクションの指定はより正確です

マニュアルページはセクションで構成されています。たとえば、セクション1にはすべてのユーザーコマンドのマニュアルページが含まれ、セクション2にはシステムコールのすべてのマニュアルページが含まれ、セクション3にはライブラリ関数などが含まれます。

コマンドラインで、セクションを明示的に指定しない場合、最初の一致するマニュアルページが、デフォルトのセクショントラバーサルの順序で取得されます。例:

$ man read

BASH_BUILTINS(1)Fedoraに表示されます。どこ

$ man 2 read

read()システムコールのマニュアルページを表示します。

セクションの位置指定は移植性がないことに注意してください。たとえば、Solarisでは次のように指定します。

$ man -s 2 read

通常、man man利用可能なセクションの一部もリストします。しかし、必ずしもすべてではありません。利用可能なすべてのセクションをリストするには、デフォルトのmanパスまたは環境変数にリストされているすべてのディレクトリのサブディレクトリをリストします$MANPATH。たとえば、いくつかの開発パッケージがインストールされ/usr/share/manているFedora 23システムには、次のサブディレクトリがあります。

cs  es  id  man0p  man2   man3x  man5x  man7x  man9x  pt_BR  sk  zh_CN
da  fr  it  man1   man2x  man4   man6   man8   mann   pt_PT  sv  zh_TW
de  hr  ja  man1p  man3   man4x  man6x  man8x  pl     ro     tr
en  hu  ko  man1x  man3p  man5   man7   man9   pt     ru     zh

manプレフィックスの付いたディレクトリは各セクションを表しますが、他のディレクトリには翻訳されたセクションが含まれます。したがって、空でないセクションのリストを取得するには、次のようなコマンドを発行できます。

$ find /usr/share/man -type f  | sed 's@^.*/man\(..*\)/.*$@\1@' \
    | sort -u | column
0p  1p  3   4   6   8
1   2   3p  5   7

(で終わるセクションpはPOSIX manページです)

別の言語(使用可能な場合)でマニュアルページを表示するには、言語関連の環境変数を設定できます。例:

$ LC_MESSAGES=de_DE man read

また、各セクションには、という名前の紹介マニュアルページが必要ですintro。たとえば、次の方法で表示できます。

$ man 2 intro

4

SVr4の定義は次のとおりです。

1 User Commands
2 System Calls
3 library Functions
4 File Formats
5 Standards, Environment and Macros (e.g. man(5))
6 Games and Demos
7 Device and Network Interfaces, Special Files
8 Maintenance Procedures
9 Kernel and Driver entry points and structures

これらは、「ジェネティック」UNIXの実際の番号付けです。POSIXは数字を定義しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.