locate

提供: ArchWiki
2022年7月25日 (月) 13:18時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎使用法: { 抜け)
ナビゲーションに移動 検索に移動

関連記事

この記事またはセクションは加筆を必要としています。
理由: Cover plocate and potentially other alternatives. (議論: トーク:Locate#)

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 は外部デバイス上のファイルを発見できないでしょう。

参照