「Locate」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→使用法: { 抜け) |
Kusanaginoturugi (トーク | 投稿記録) (テンプレート:Expansion を削除) |
||
(同じ利用者による、間の1版が非表示) | |||
9行目: | 9行目: | ||
{{Related|アプリケーション一覧/ユーティリティ#ファイル検索}} |
{{Related|アプリケーション一覧/ユーティリティ#ファイル検索}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
+ | {{ic|locate}} は、名前でファイルを素早く見つける一般的な Unix ツールです。[[ファイルシステム]]を直接検索するのではなく、事前に構築したデータベースファイルを検索することにより高速な検索を提供します。この方法の欠点は、データベースが作成された後に加えられた変更を {{ic|locate}} が検出できないということです。データベースを定期的に更新することにより、この問題を軽減できます。 |
||
− | |
||
− | {{Expansion|Cover {{Pkg|plocate}} and potentially other alternatives.}} |
||
− | |||
− | {{ic|locate}} は、名前でファイルを素早く見つける一般的な Unix ツールです。[[ファイルシステム]]を直接検索するのではなく、事前に構築したデータベースファイルを検索することにより高速な検索を提供します。この方法の欠点は、データベースが作成された後に加えられた変更を {{ic|locate}} が検出できないということです。データベースを定期的に更新することにより、この問題を軽減できます。 |
||
[https://pagure.io/mlocate mlocate] (Merging Locate) は、[[Wikipedia:locate (Unix)|locate]] ユーティリティのより安全なバージョンです。現在のユーザによってアクセス可能なファイルのみを表示します。 |
[https://pagure.io/mlocate mlocate] (Merging Locate) は、[[Wikipedia:locate (Unix)|locate]] ユーティリティのより安全なバージョンです。現在のユーザによってアクセス可能なファイルのみを表示します。 |
2023年4月5日 (水) 16:35時点における最新版
locate
は、名前でファイルを素早く見つける一般的な Unix ツールです。ファイルシステムを直接検索するのではなく、事前に構築したデータベースファイルを検索することにより高速な検索を提供します。この方法の欠点は、データベースが作成された後に加えられた変更を locate
が検出できないということです。データベースを定期的に更新することにより、この問題を軽減できます。
mlocate (Merging Locate) は、locate ユーティリティのより安全なバージョンです。現在のユーザによってアクセス可能なファイルのみを表示します。
plocate (Posting Locate) は、転置インデックスに基づく locate です。mlocate のデータベースを先読みして、より速い(そしてより小さい)インデックスを作成します。
インストール
mlocate か plocate パッケージをインストールしてください。
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 は外部デバイス上のファイルを発見できないでしょう。