Locateとは
Macで使用する際のファイルを探す時のUnixコマンド locate
find
はすべてのファイルを即座になめるので、遅いが、
locate
はlocate DBのindexを見に行くので、速いが、DBを更新する必要がある。
使い方はシンプル
locate <ファイル名>
<>は不要です。
しかし即座に使えない
しかしそのままでは使えません。
locate sample
と打ってみるが、、
$ locate sample
> WARNING: The locate database (/var/db/locate.database) does not exist.
To create the database, run the following command:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
Please be aware that the database can take some time to generate; once
the database has been created, this message will no longer appear.
locate databaseがないとのことなので、
以下を実行
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
これでlocate.plistをロードしてサービスの登録
locate
コマンドはlocateのデータベースのindexを見ているので、
定期的にindexを更新する必要があります。
ほとんどのUnixベースのOSだと、updatedb
コマンドを打つだけですが、
OS X (10.10 Yosemite) だとコマンドラインで打っても動きません。
locateのデータベースを更新
①ターミナルアプリを立ち上げ, iTermとか
②rootユーザになります
sudo su -
その後、パスワードを打つ
③ディレクトリの移動
cd /usr/libexec
④以下でlocateのデータベースを更新する
./locate.updatedb
五分もしないウチにlocateのデータベースが更新されます。
最後にcontrol + dでexitしておわり
一行でもいい
sudo /usr/libexec/locate.updatedb