LoginSignup
26
23

More than 5 years have passed since last update.

OS X (10.10 Yosemite)にてLocateコマンド

Last updated at Posted at 2015-01-22

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

26
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
23