Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all 

名前
locate - ファイル名データベースからパターンに合うものを表示する
書式
locate [-d path | --database=path] [-e | -E | --[non-]existing] [-i | --ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] [-b | --basename] [-l N | --limit=N] [-S | --statistics] [-r | --regex ] [--regextype R] [--max-database-age D] [-P | -H | --nofollow] [-L | --follow] [--version] [-A | --all] [-p | --print] [--help] pattern...
説明
このマニュアルページは GNU 版 locate の使用法を説明しています。 locate は、 指定された各パターンに対し て、 一つまたは複数のファイル名データベースを検索して、 パターンに一致するファイル名を表示します。 パター ンには、 シェルで用いるようなメタキャラクター (`*', `?' 及び `[]') が利用できます。 メタキャラクターは `/' や `.' を特別扱いしません。 したがって `foo*bar' というパターンは、 `foo3/bar' というファイル名に一 致します。 また `*duck*' というパターンは、 `lake/.ducky' に一致します。 メタキャラクターを含むパターン は、 シェルによって展開されないようにクォートで囲む必要があります。 パターンが通常の文字列である場合、 つまりメタキャラクターを含んでいない場合、 locate は、 ファイル名のど こかにその文字列が含まれているようなファイルをすべて表示します。 パターンにメタキャラクターが含まれる場 合、 locate は、 パターンに一致するファイル名だけを表示します。 このことから、 メタキャラクターを含むパ ターンには、 通常は先頭に `*' をつけておいてください。 同じように、 最後にもたいていは `*' をつけておきま す。 ただしファイル名の先頭または最後に、 意図的に一致させたいパターンとするのであれば、 その必要はありま せん。 ファイル名データベースは、 最後に更新された時点において、 システムに存在していたファイルのリストからなっ ています。システム管理者はデフォルトで用いるデータベースのファイル名や更新の頻度、 またどのディレクトリの 情報をデータベースに入れるかなどを選択することができます。updatedb(1) を参照してください。 locate は端末に対して出力を行ないます。 出力に適さない文字はエスケープ出力されます。 これは find コマンド の -print 処理と同様にして行われます。 出力先が端末でない場合、 ファイル名はその文字のまま出力されます。
オプション
-0, --null 区切り文字として、 改行文字ではなく ASCII NUL 文字を用います。 -A, --all 必須の引数すべてに一致する名前のみを表示します。 つまりすべてに一致せず、 1 つやその一部にのみに一 致するものは表示しません。 -b, --basename 指定されたパターンが、 データベース内にあるファイル名の最後の構成要素に一致した場合に、 出力結果と して一致したものとします。 最後の構成要素は、 通常「ベース名」と表現されます。 -c, --count 一致したファイル名を出力するのではなく、 一致した総数を出力します。 ただし --print (-p) も指定され た場合は除きます。 -d path, --database=path デフォルトのファイル名データベースを検索するのではなく、 path にあるファイル名データベースを検索し ます。 複数のデータベースファイルは、 コロンで区切って指定します。 環境変数 LOCATE_PATH を利用し て、 検索するデータベースファイルを指定することもできます。 オプションと環境変数がともに指定された 場合は、 オプションが優先されます。 パス指定に空の要素が指定された場合は、 デフォルトのデータベー スファイル名と同義であるものとして扱われます。 データベースは stdin から指定することもできます。 これを行う場合は path の要素として `-' を利用します。 path の構成要素に複数の `-' が指定されていた 場合、 2 つめ以降は無視されます (そして警告メッセージが出力されます)。 ファイル名データベースのフォーマットは、 GNU find と locate のバージョン 4.0 から変更されました。 このフォーマットによって、 バイトオーダーが異なるマシン間においても、 データベースが共有できるよう になりました。 locate の本バージョンでは、 GNU locate の旧バージョン、 あるいは Unix バージョンの locate や find を自動的に識別して読み込みを行ないます。 古い locate のデータベースフォーマットへの サポートは、 今後のリリースにおいては継続しません。 -e, --existing 現在存在している名前のみを表示します (データベースが生成された際に存在していた名前を表示するわけで はありません)。 なおデータベース内に一致する名前が多数存在していると、 プログラム処理速度が多少低 下することがあります。 プログラム内においてこのオプションを利用している場合は、 locate がチェック した後のファイルは、 削除されてしまい、 確認できないことがある点に注意してください。 -E, --non-existing 現在存在していない名前のみを表示します (データベースが生成された際に存在していた名前を表示するので はありません)。 なおデータベース内に一致する名前が多数存在していると、 プログラム処理速度が多少低 下することがあります。 --help locate のオプション概要を表示して終了します。 -i, --ignore-case パターンとファイル名において、 英字の大文字小文字を区別しません。 -l N, --limit=N 一致する数を N に制限します。 制限数を本オプションにより設定した場合、 -c オプションによって表示さ れる結果数は、 本オプションの値を上回ることはありません。 -L, --follow (-e や -E オプションとともに使って) ファイルの存在チェックを行う場合、 シンボリックリンクが壊れて いる場合には、 存在していないものとして扱います。 これはデフォルトの動作です。 --max-database-age D 通常 locate は、 検索するデータベースが 8 日以上古かった場合に、 警告メッセージを表示します。 この オプションは、 その日数を 8 日以外のものに設定する場合に用います。 負数を指定した場合の動作は未定 です。 -m, --mmap 指定可能ですが、 ただし何も行いません。 これは BSD 版の locate との互換性のために存在しています。 -P, -H, --nofollow (-e や -E オプションとともに使って) ファイルの存在チェックを行う場合、 シンボリックリンクが壊れて いる場合には、 存在してるものとして扱います。 本オプションの -H 形式は、 find に合わせるために提供 されています。 したがって -H よりも -P を用いることが推奨されます。 -p, --print --statistics (-S) や --count (-c) が指定されているために、 検索結果が表示されないものについて、 そ の結果を表示します。 -r, --regex コマンドライン上から指定されるこのパターンは、 glob パターンとしてではなく、 正規表現として解釈さ れます。 この正規表現は、 emacs 内において用いられるものと同様のものでしたが、 "." が改行文字とし て扱われるという違いがありました。 GNU find では、 同じ正規表現が用いられます。 ファイル名のフルパ スが、 指定された正規表現にマッチするときに、 そのファイル名が表示されます (または -c オプションが 指定された場合、 その数がカウントされます)。 正規表現を使ってフルパスの前後を完全に一致させたい場 合は、 正規表現においてよく用いるように、 ^ と $ の文字を用いて指定します。 --regextype R 正規表現の方言である R を用います。 サポートされる方言は以下です。 `findutils-default', `posix-awk', `posix-basic', `posix-egrep', `posix-extended', `posix-minimal-basic', `awk', `ed', `egrep', `emacs', `gnu-awk', `grep', `sed' 。 この方言の詳細な説明は Texinfo ドキュメントを参照し てください。 -s, --stdio 指定可能ですが、 ただし何も行いません。 これは BSD 版の locate との互換性のために存在しています。 -S, --statistics 各 locate データベースについての統計情報を表示します。 必須の引数が指定されていなければ、 検索処理 は行わずに終了します。 BSD 版との互換性のために、 --statistics と同じ意味で -S が受け付けられま す。 ただし locate -S による出力結果は、 locate の GNU 版と BSD 版では異なります。 --version locate のバージョン番号を表示して終了します。 -w, --wholename データベース内に保持されているファイル名との完全一致を行います。 これはデフォルトの動作です。
環境変数
LOCATE_PATH 検索するデータベース名をコロンで区切ったリスト。 この設定値の先頭あるいは末尾にコロンを設定する か、 あるいは設定内に 2 つのコロンを含めると、 locate の異なるバージョン間において、 検索結果が異 なることになります。
履歴
locate プログラムは、 プログラムの高速検索のために、 James A. Woods が BSD に提供したところから始まりまし た。 これは以下の論文において説明されたものです。 Finding Files Fast which was published in Usenix ;login:, Vol 8, No 1, February/March, 1983, pp. 8-10. find プログラムのアクションが指定されなかった場合 に、 -print アクションがデフォルトとして扱われるようになり、 find pattern の実装が変更されました。 そこで BSD 開発者は、 この高速検索機能を locate に移転しました。 GNU による locate も、 同一のコードに基づいて実 装されています。 locate の主要な変更を、 以下に降順で示します。 4.3.7 旧DBフォーマットにてバイトオーダー順に依存しない対応。 4.3.3 locate の -i がマルチバイト文字を適切に対応。 --max_db_age の導入。 4.3.2 slocate データベースフォーマットの導入。 4.2.22 --all オプションの導入。 4.2.15 --regex オプションの導入。 4.2.14 -L, -P, -H の各オプションの導入。 4.2.12 LOCATE_PATH における空指定は、 デフォルトデータベースを表します。 4.2.11 --statistics オプションの導入。 4.2.4 --count と --limit の導入。 4.2.0 glob 文字がファイル名全体に一致するように。 4.0 LACATE02 データベースフォーマットの導入。 3.7 Locate が複数データベースを検索できるようにします。
バグ
locate データベースは、 改行文字を含むファイル名でも適切に処理を行います。 ただしそれは、 システムの sort コマンドの -z オプションが正しく動作する場合です。 locate が返すファイル名に改行文字が含まれているべき、 と思われる場合には、 --null オプションの利用を検討してください。
バグ報告
GNU findutils オンラインヘルプ: <https://www.gnu.org/software/findutils/#get-help> 翻訳に関するバグ報告 <https://translationproject.org/team/> その他の問題について GNU Savannah バグトラッカー経由での報告: <https://savannah.gnu.org/bugs/?group=findutils> GNU findutils パッケージのメーリングリスト bug-findutils において議論されている全般的なトピック: <https://lists.gnu.org/mailman/listinfo/bug-findutils>
著作権
Copyright © 1994-2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
関連項目
find(1), updatedb(1), xargs(1), glob(3), locatedb(5) 完全なドキュメント <https://www.gnu.org/software/findutils/locate> またローカルにおいては info locate により参照できます。 LOCATE(1)