「Locate」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(二重転送を修正)
タグ: 転送先変更
(テンプレート:Expansion を削除)
 
(2人の利用者による、間の3版が非表示)
1行目: 1行目:
  +
{{Lowercase title}}
#redirect[[Core utilities#locate]]
 
  +
[[Category:検索]]
  +
[[es:Locate]]
  +
[[pt:Mlocate]]
  +
[[en:Locate]]
  +
{{Related articles start}}
  +
{{Related|find}}
  +
{{Related|Core utilities}}
  +
{{Related|アプリケーション一覧/ユーティリティ#ファイル検索}}
  +
{{Related articles end}}
  +
​{{ic|locate}} は、名前でファイルを素早く見つける一般的な Unix ツールです。[[ファイルシステム]]を直接検索するのではなく、事前に構築したデータベースファイルを検索することにより高速な検索を提供します。この方法の欠点は、データベースが作成された後に加えられた変更を {{ic|locate}} が検出できないということです。データベースを定期的に更新することにより、この問題を軽減できます。
  +
  +
[https://pagure.io/mlocate mlocate] (Merging Locate) は、[[Wikipedia:locate (Unix)|locate]] ユーティリティのより安全なバージョンです。現在のユーザによってアクセス可能なファイルのみを表示します。
  +
  +
[https://plocate.sesse.net/ plocate] (Posting Locate) は、[[wikipedia:ja:転置インデックス|転置インデックス]]に基づく locate です。mlocate のデータベースを先読みして、より速い(そしてより小さい)インデックスを作成します。
  +
  +
== インストール ==
  +
  +
{{Pkg|mlocate}} か {{Pkg|plocate}} パッケージを[[インストール]]してください。
  +
  +
[https://www.gnu.org/software/findutils/ GNU findutils] にも ''locate'' の実装がありますが、Arch の {{Pkg|findutils}} にはありません。
  +
  +
== 使用法 ==
  +
  +
{{man|1|locate}} を使う前に、データベースを作成する必要があります。これは、データベースをアップデートする {{man|8|updatedb}} コマンドで行います。
  +
  +
{{Pkg|mlocate}} には {{ic|updatedb.timer}} ユニットがあり、{{Pkg|plocate}} には {{ic|plocate-updatedb.timer}} ユニットがあります。
  +
これらのユニットは、毎日1回データベースをアップデートします。{{Pkg|mlocate}} はインストール時にこのタイマーを有効化します。再起動せずにタイマーを使いたい場合は手動で[[起動]]してください。''updatedb'' を root として実行することでいつでもデータベースをアップデートできます。
  +
  +
検索時間を削減するために、{{ic|/etc/updatedb.conf}} を編集して特定のファイルシステムとパスを無視するように ''updatedb'' を設定できます。{{man|5|updatedb.conf}} でこのファイルの構文が説明されています。デフォルト設定ファイルの除外パス({{ic|PRUNEPATHS}})には {{ic|/media}} と {{ic|/mnt}} が含まれているので、''locate'' は外部デバイス上のファイルを発見できないでしょう。
  +
  +
== 参照 ==
  +
  +
* [https://jvns.ca/blog/2015/03/05/how-the-locate-command-works-and-lets-rewrite-it-in-one-minute/ How locate works and rewrite it in one minute]

2023年4月5日 (水) 16:35時点における最新版

関連記事

locate は、名前でファイルを素早く見つける一般的な Unix ツールです。ファイルシステムを直接検索するのではなく、事前に構築したデータベースファイルを検索することにより高速な検索を提供します。この方法の欠点は、データベースが作成された後に加えられた変更を locate が検出できないということです。データベースを定期的に更新することにより、この問題を軽減できます。

mlocate (Merging Locate) は、locate ユーティリティのより安全なバージョンです。現在のユーザによってアクセス可能なファイルのみを表示します。

plocate (Posting Locate) は、転置インデックスに基づく locate です。mlocate のデータベースを先読みして、より速い(そしてより小さい)インデックスを作成します。

インストール

mlocateplocate パッケージをインストールしてください。

GNU findutils にも locate の実装がありますが、Arch の findutils にはありません。

使用法

locate(1) を使う前に、データベースを作成する必要があります。これは、データベースをアップデートする updatedb(8) コマンドで行います。

mlocate には updatedb.timer ユニットがあり、plocate には plocate-updatedb.timer ユニットがあります。 これらのユニットは、毎日1回データベースをアップデートします。mlocate はインストール時にこのタイマーを有効化します。再起動せずにタイマーを使いたい場合は手動で起動してください。updatedb を root として実行することでいつでもデータベースをアップデートできます。

検索時間を削減するために、/etc/updatedb.conf を編集して特定のファイルシステムとパスを無視するように updatedb を設定できます。updatedb.conf(5) でこのファイルの構文が説明されています。デフォルト設定ファイルの除外パス(PRUNEPATHS)には /media/mnt が含まれているので、locate は外部デバイス上のファイルを発見できないでしょう。

参照