FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | 戻り値 | 使用例 | 関連項目 | 規格 | 歴史 | バグ
GLOB(3)                FreeBSD ライブラリ関数マニュアル                GLOB(3)

名称
     glob, globfree -- パターン照合のパス名を生成する

ライブラリ
     標準 C ライブラリ (libc, -lc)

書式
     #include <glob.h>

     int
     glob(const char * restrict pattern, int flags,
         int (*errfunc)(const char *, int), glob_t * restrict pglob);

     void
     globfree(glob_t *pglob);

解説
     glob() 関数は、シェルによって使用されるファイル名のパターンの照合のための
     規則を実装するパス名ジェネレータです。

     インクルードファイル <glob.h> は、少なくとも次のフィールドを含んでいる構
     造体のタイプ glob_t を定義しています:

     typedef struct {
             size_t gl_pathc;        /* これまでのパスの合計のカウント */
             size_t gl_matchc;       /* パターンと一致しているパスのカウント */
             size_t gl_offs;         /* gl_pathv の始めで予約される */
             int gl_flags;           /* 返されるフラグ */
             char **gl_pathv;        /* パターンと一致しているパスのリスト */
     } glob_t;

     引数 pattern は、展開されるパス名のパターンへのポインタです。glob() 引数
     は、パターンとすべてのアクセス可能なパス名を照合して、一致しているパス名
     のリストを作成します。パス名にアクセスするために、glob() は、最後を除いて
     パスのすべての構成要素の検索パーミッションを必要とし、特殊文字 `*', `?'
     または `[' のいずれかを含んでいる pattern のあらゆるファイル名の構成要素
     の各ディレクトリで読み込みパーミッションを必要とします。

     glob() 引数は、gl_pathc フィールドに一致しているパス名の数を格納し、
     gl_pathv フィールドにパス名へのポインタのリストへのポインタを格納します。
     最後のパス名の後の最初のポインタは、NULL です。パターンがいずれのパス名と
     も一致しないなら、一致しているパスの返される数は、0 に設定されます。

     pglob によって指された構造体を作成することは、呼び出し側の責任です。
     glob() 関数は、gl_pathv によって指されるメモリを含んで、必要に応じて他の
     空間を割り付けます。

     引数 flags は、glob() の振る舞いを修正するために使用されます。flags の値
     は、<glob.h> で定義された次の値のいずれかのビット単位の包括的な論理和
     (OR) です:

     GLOB_APPEND      glob() への前の呼び出し (または複数の呼び出し) からのも
                      のに生成されたパス名を追加します。gl_pathc の値は、この
                      呼び出しと前の (複数の) 呼び出しによって見つけられる合計
                      の一致です。パス名は、前の (複数の) 呼び出しによって返さ
                      れるパス名とマージされずに追加されます。呼び出しの間に、
                      呼び出し側は、GLOB_DOOFFS フラグの設定を変更してはなら
                      ず、GLOB_DOOFFS が設定されているとき、gl_offs の値を変更
                      してはならず、pglob のために globfree() を (明らかに) 呼
                      び出してはなりません。

     GLOB_DOOFFS      gl_offs フィールドを使用します。このフラグが設定されるな
                      ら、gl_offs は、どのくらいの NULL ポインタを gl_pathv
                      フィールドの最初に付け加えるかを指定するために使用されま
                      す。言い換えれば、gl_pathv は、NULL ポインタが続いている
                      gl_pathc パス名のポインタが続いている、gl_offs NULL ポイ
                      ンタを指しています。

     GLOB_ERR         glob() は、それが、オープンかまたは読み込むことができな
                      いディレクトリに遭遇するとき、返ります。通常、glob()
                      は、一致を見つけ続けます。

     GLOB_MARK        pattern と一致しているディレクトリである各パス名には、追
                      加されたスラッシュがあります。

     GLOB_NOCHECK     pattern があらゆるパス名に一致しないなら、glob() は、1
                      に設定された合計のパス名の数、0 に設定された一致している
                      パス名の数がある pattern のみから成るリストを返します。
                      バックスラッシュのエスケープの効果は、返されたパターンに
                      存在します。

     GLOB_NOESCAPE    デフォルトで、バックスラッシュ (`\') 文字は、文字のあら
                      ゆる特別な解釈を避けて、パターンの次の文字をエスケープす
                      るために使用されます。GLOB_NOESCAPE が設定されるなら、
                      バックスラッシュのエスケープは、無効にされます。

     GLOB_NOSORT      デフォルトで、パス名は、昇順の ASCII 順序でソートされま
                      す。このフラグは、そのソートを防止します (glob() を速め
                      ます)。

     また、次の値は、flags に含められます、しかしながら、それらは、IEEE Std
     1003.2 (``POSIX.2'') の非標準の拡張です。

     GLOB_ALTDIRFUNC  pglob 構造体の次の追加のフィールドは、ディレクトリをオー
                      プンし、読み込み、そしてクローズするために、そして、それ
                      らのディレクトリで見つけられる名前に関する stat 情報を取
                      得するために、使用する glob のための代替の関数で初期化さ
                      れました。

                      void *(*gl_opendir)(const char * name);
                      struct dirent *(*gl_readdir)(void *);
                      void (*gl_closedir)(void *);
                      int (*gl_lstat)(const char *name, struct stat *st);
                      int (*gl_stat)(const char *name, struct stat *st);

                      この展開は、テープに格納されるディレクトリからグロブ
                      (ファイル名置換) を提供するために restore(8) のようなプ
                      ログラムを許可するために提供されます。

     GLOB_BRACE       csh(1) のような `{pat,pat,...}' 文字列を展開するパターン
                      文字列を前処理します。パターン `{}' は、歴史的な理由 (と
                      csh(1) は、find(1) のパターンのタイプを容易にするために
                      同じことを行う) のために展開されないままにされます。

     GLOB_MAGCHAR     パターンが、グロブ (ファイル名置換) 文字を含んていたな
                      ら、glob() 関数によって設定します。より詳しい情報につい
                      ては、gl_matchc 構造体のメンバの使用法の説明を参照してく
                      ださい。

     GLOB_NOMAGIC     は、GLOB_NOCHECK と同じですが、それが特殊文字 ``*'',
                      ``?'' または ``['' のどれも含んでいないなら、それは、
                      pattern を追加するだけです。GLOB_NOMAGIC は、歴史的な
                      csh(1) のグロブ (ファイル名置換) の振る舞いを実装するこ
                      とを簡素化するために提供され、たぶん、他にどこでも使用さ
                      れるべきではありません。

     GLOB_TILDE       `~' で始まるパターンをユーザ名のホームディレクトリに展開
                      します。

     GLOB_LIMIT       返されたパス名の合計の数を、gl_matchc (デフォルト
                      ARG_MAX) で提供された値に制限します。このオプションは、
                      `*/../*/..' の長い文字列のような非常に多くの照合に展開す
                      るパターンを通してサービス拒否攻撃を強制することができる
                      プログラムのために設定されるべきです。

     検索の間に、オープンすることができない、または読み込みできないディレクト
     リに遭遇して、errfunc が NULL でないなら、glob() は、(*errfunc)(path,
     errno) を呼び出しますが、GLOB_ERR フラグは、これが起こるとき、ただちに返
     ります。

     errfunc が 0 以外で返るなら、glob() は、スキャンを停止して、すでに一致し
     ているあらゆるパスを反映するために gl_pathcgl_pathv を設定した後に
     GLOB_ABORTED を返します。呼び出されるなら、errfunc の返り値に関わらず、エ
     ラーに遭遇し、GLOB_ERR が flags に設定されているなら、また、これは、起こ
     ります。GLOB_ERR が設定されず、errfunc が NULL であるか、または errfunc
     が 0 を返すかのいずれかであるなら、エラーは、無視されます。

     globfree() 関数は、glob() への以前の (複数の) 呼び出しから pglob に関連す
     るあらゆる空間を解放します。

戻り値
     成功して完了すると、glob() は、0 を返します。さらに、pglob のフィールド
     は、以下に説明された値を含んでいます:

     gl_pathc      は、これまでに、一致しているパス名の合計の数を含んでいま
                   す。これは、GLOB_APPEND が指定されたなら、glob() の以前の呼
                   び出しから他の一致を含んでいます。

     gl_matchc     は、glob() の現在の呼び出しの一致しているパス名の数を含んで
                   います。

     gl_flags      は、pattern が特殊文字 ``*'', ``?'' or ``['' のいずれかを含
                   んでいたなら、設定されたビット GLOB_MAGCHAR がある flags 引
                   数のコピーを含み、そうでなければ、クリアされます。

     gl_pathv      は、一致しているパス名の NULL で終了するリストへのポインタ
                   を含んでいます。しかしながら、gl_pathc が 0 であるなら、
                   gl_pathv の内容は、未定義です。

     glob() が、エラーのために終了するなら、それは、errno を設定し、インクルー
     ドファイル <glob.h> で定義されている、次の 0 以外の定数の 1 つを返します:

     GLOB_NOSPACE  メモリを割り付ける試みが、失敗したか、または errno が E2BIG
                   であったなら、GLOB_LIMIT は、フラグで指定され、
                   pglob->gl_matchc またはより多くのパターンが一致しました。

     GLOB_ABORTED  エラーに遭遇し、GLOB_ERR が、設定されていたか、または
                   (*errfunc)() が、0 以外を返すかのいずれかのために、スキャン
                   は、停止されました。

     GLOB_NOMATCH  パターンは、パス名と位置しませんでした、そして、
                   GLOB_NOCHECK は、設定されませんでした。

     引数 pglob->gl_pathcpglob->gl_pathv は、まだ上記に指定されるように設
     定されます。

使用例
     `ls -l *.c *.h' のおおよその同等物を次のコードで取得することができます:

           glob_t g;

           g.gl_offs = 2;
           glob("*.c", GLOB_DOOFFS, NULL, &g);
           glob("*.h", GLOB_DOOFFS | GLOB_APPEND, NULL, &g);
           g.gl_pathv[0] = "ls";
           g.gl_pathv[1] = "-l";
           execvp("ls", g.gl_pathv);

関連項目
     sh(1), fnmatch(3), regex(3)

規格
     glob() 関数の現在の実装は、IEEE Std 1003.2 (``POSIX.2'') に適合していませ
     ん。シンボル式を照合すること、同値類の式と文字クラス式は、サポートされて
     いません。

     フラグ GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_LIMIT, GLOB_MAGCHAR,
     GLOB_NOMAGIC と GLOB_TILDE およびフィールド gl_matchcgl_flags は、
     POSIX 標準の拡張であり、厳密な適合のために努めているアプリケーションに
     よって使用されるべきではありません。

歴史
     glob() と globfree() 関数は、4.4BSD ではじめて登場しました。

バグ
     MAXPATHLEN より長いパターンは、チェックされないのエラーを起こすかもしれま
     せん。

     glob() 引数は、失敗して、ライブラリルーチン stat(2), closedir(3),
     opendir(3), readdir(3), malloc(3)free(3) で明記されたエラーのいずれか
     を errno に設定します。

FreeBSD 11.2                   December 20, 2011                  FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索