2011-01-21 4 views
4

私は、いくつかの操作を完了するために、mktime()やfnmatch()のように、UNIXでシステムコールを使用する必要がある割り当てを持っています。関数を探すために検索するマニュアルページの名前だけが与えられています。UNIXシステムコールのリスティング?

ここで、これは割り当ての目的では問題ありません。しかし、将来私がUNIXプログラミングを行うとき、私は正確な名前を知らないかもしれません(fnmatchがその名前を知らずに存在することは決してありません)。

質問があります:どのようにすべてのUNIXシステム機能の包括的なリストを得ることができますか?分類されているかソートされているかどうかは気にしませんが、リストには説明が含まれていますので、検索可能です。そのようにして機能が必要な場合は、検索をいくつか行い、潜在的な候補者を見つけて正確な使用法を見つけることができます。

+5

もしあなたがこれについて真剣なら、低レベルのネットワークとIPCプログラミングに関する私のためのライトが来たときに 'Unix Env​​ironment、Second Edition'で' Advanced Programming 'を購入してください。私はこの本について十分に話すことはできませんが、これまでに読んだことのある最高のテクニカル・ブックです(どの科目でも)。 – gahooa

+0

mktimeとfnmatchはシステムコールではないことに注意してください。それらはライブラリ関数です。 UNIXの用語では、これらの2種類の呼び出しの違いがあります。 Cプログラマに似ていますが、システムによってどのように処理されているか、マニュアルのどの部分で見つけられるかには違いがあります。 –

+0

トマスありがとう、私はそれを暗示することを意味しています(私はシステムコールとライブラリ関数の両方を対象にしています)。 –

答えて

5

$ whatis apropos 
apropos (1)   - search the manual page names and descriptions 


$ apropos filename 
... 
fnmatch (3)   - match filename or pathname 
... 
+0

'apropos -r'のように動作する' man -k'もあります。 – Hasturkun

+0

さて、私はaproposを使用することにしました。私は思っていますが、aproposのオプションはありますか?私はそれについてマンページには何も見当たりません。もし私が 'apropos -r'を使うと、私は '未知の選択肢'を得ます。私は具体的には、「apropos filename match」とは、「apropos filename」よりも多くの結果を得ます。 - 「apropos filename match」を使用したいのは、 _both_ 'filename'と 'match' –

+0

aproposのマニュアルページもあるはずです。私のシステムでは、 "-a"フラグがあなたが探しているものです。 "apropos -a filename match"は、両方に一致する項目のみを返します。より高度な使い方を探しているなら、aproposもそれを受け入れるので、正規表現を見ることができます。 – vmpstr

4

システムコールはmanの第2章に記載されています。 Unixのバージョンに応じて、manデータディレクトリでこれらのページを見つけることができるはずです。

Linuxの場合、このディレクトリは/usr/share/man/man2です。あなたのUnixのバージョンは異なるかもしれません。また、man manは、他のセクションにあるものを教えてください。

+2

それは正解ですが、システムコールが異なるUNIXシステムごとに異なる可能性があることに注意してください... – Doomsday

+0

ありがとう、私はそれを認識しています。私は主にMac OS XとLinuxのいくつかの変種に取り組んでいます。これまでのところ私は問題は見つけられませんでしたが、私は確かにそれらの見通しにあります。 –

1

「Aproposは」と呼ばれる便利なユーティリティは、私が転がっpart of "The Authorized Guide to Version 3 of the Single UNIX Specification"の印刷されたコピーを保持するために使用さもあります - テーブルは、異なる規格の様々な通話の利用可能性を示して、ために非常に有用でした複数のターゲットをサポートします。