オープンC関数に関するプログラマのマンページはどこにありますか?


16

私はdebian8(jessie)を使用しており、openのマンページを読みに行きました。代わりに私は警告を受けました:

$ man 3 open
No manual entry for open in section 3
See 'man 7 undocumented' for help when manual pages are not available.

manpage-devパッケージをインストールしていますが、プログラマ向けのマンページ(man 3)はどこにありますか?


1
使用することもできapropos、またはman --names-onlyのいずれかで--regex--wildcard。をご覧くださいman man
CVn

Cではopen、関数ではなく、システムコールです。これは重要な違いですが、ここでの関連性は、システムコールがセクション2にあり、ライブラリ関数がセクション3にあることです
。– mpez0

回答:


18

man 2 openではなく、Cライブラリインターフェイスが必要ですman 3 open。確かにありますmanpages-dev(ではありませんmanpage-dev)。man 3 openPerlのマニュアルページを提供します。

# Show the corresponding source groff file
man -w 2 open   
/usr/share/man/man2/open.2.gz

# Show which package this file belongs to
dpkg -S /usr/share/man/man2/open.2.gz
manpages-dev: /usr/share/man/man2/open.2.gz

# Or use dlocate to show which package this file belongs to
dlocate /usr/share/man/man2/open.2.gz
manpages-dev: /usr/share/man/man2/open.2.gz

14

マンページのセクションは、マンページ自体で説明されています。入力man manさまざまなセクションと一般的なコンテンツを見るために、シェルセッションで:

   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  conventions), e.g.
       man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

セクション2ではシステムコールについて説明し、セクション3ではライブラリルーチンについて説明します。システムコールの単なるラッパーであるライブラリルーチンについても、セクション2で説明します。


10

この理由をさらに明確にするために、マンページはシステムコールであるため(セクションCにではなく、カーネルの一部として多かれ少なかれ直接実装される)、セクション2にあります。

特にライブラリ関数である古いシステムコールでは、この区別は多少though意的に見えることがあります(フォークは、クローンのラッパーであるにもかかわらず、まだセクション2にあります)。一般に、最初にセクション3を見て、それが見つからない場合、または関連していないように見える場合はセクション2を試してください。また、セクション2の一部の関数は、通常のプログラム(getdents、gettidなど)によって呼び出されることは想定されていない内部または廃止されたLinux固有の関数です。

manpages-posix-devパッケージをインストールして、Linux固有の情報を含むのではなく、移植性のある観点から書かれたマンページのセットを取得することもできます。このパッケージでは、C関数用に提供されているすべてのマンページがセクション3pにあります。


4

特定のマンページがどのセクションにあるかわからないときは、-aオプションを使用します。

   -a, --all
          By  default,  man  will  exit  after  displaying the most suitable manual page it finds.
          Using this option forces man to display all the manual pages with names that  match  the
          search criteria.

manのマンページの例から:

   man -a intro
       Display,  in  succession, all of the available intro manual pages
       contained within the manual.  It is possible to quit between
       successive displays or skip any of them.

3

この状況では、次のいずれかのコマンドを使用して、このマンページ名で使用可能なすべてのページのリスト全体を表示すると便利です。

$ man -k ^open$
$ apropos -r ^open$
$ man -f open
$ whatis open

結果は同じになります。

open (1)             - start a program on a new virtual terminal (VT).
open (2)             - open and possibly create a file or device

または、既存のすべてのマンページのコンテンツを表示して、必要なものを特定します。

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