glob

「ワイルドカード」は任意の文字に一致する記号で、「*」「?」「[]」がある。「*」は任意の長さの文字列、「?」は任意の1文字、「[]」は括弧内のいずれか1文字にそれぞれ一致する。例えば、「*.txt」は拡張子が.txtのすべてのファイル、「img?.png」は「img1.png」や「imga.png」のように末尾が1文字異なるファイルに一致する。
一致の判定は、ファイルシステム上に実際に存在する名前を対象に行われる。LinuxなどのUNIX系OSのシェル環境では、利用者が入力したパターンをシェル自身が展開し、一致したファイル名の一覧をコマンドへ引き渡す。同じパターンでも処理をシェルが担うか、プログラム自身が担うかで挙動が異なる場合がある。
環境によっては「**」(ダブルアスタリスク)によるサブディレクトリの再帰的な検索をサポートするものもある。この記法を使うと、ネスト(入れ子)された階層のファイルも一括して対象とすることができる。対応する記号や構文はソフトウェアごとに異なるため、利用する際は対象環境の仕様を確認する必要がある。
PythonのglobモジュールやRuby、Node.jsのglobパッケージなど、様々なプログラミング言語がglobを扱うための標準ライブラリや関数を備えている。プログラム内から動的にファイルを検索・取得する処理のほか、複数ファイルの読み込みや削除、バックアップなどにも利用されている。
globは「正規表現」(regular expression)と混同されることがあるが、用途と表現力は異なる。globはファイル名の照合に特化した比較的単純な記法であり、扱える記号も限られる。正規表現は文字列全般を対象とする高度なパターン記法で、繰り返しや選択、グループ化など多様な条件を記述できる。ファイルの指定にはglob、文字列の検索や置換には正規表現というように使い分けられることが多い。