ファイルを高速検索できるlocateコマンドをMacで使用する方法について解説!

Mac

普段はMacとWindowsの両刀使い、インフラエンジニアの伊藤です。

Macのファイル検索機能といえばSpotlight検索ですよね!でも、Spotlight機能だけでは、深い階層にある設定ファイルとかが見つからないんですよね...

そんなときに使えるのが「locate」コマンドです。ファイルのインデックスデータベースを作成してファイルを高速で検索出来ます。
ファイルのインデックスデータベースを作成・更新する必要がありますが、findコマンドと比較するとかなり早いです。
ちなみにfindコマンドはリアルタイムでファイルを検索して表示するので、そこまで高速ではないです。

ってことでlocateコマンドでファイルを探そう!と思ったら、Macではすぐにlocateコマンドが使えませんでした…
今回は、Macでlocateコマンドを使う方法です。

Macでlocateする

こんな感じで怒られました。
first-locate
ま、updatedbコマンドしてないからなって思うとupdatedbコマンドがないと言われ…

updatedb

で、もう一度locateコマンドに描かれているところを読み返します。

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

ってことですね。updatedbコマンドじゃなかったです。
ということで、言われるがままコマンドを実施してみましょう。

一瞬で終わって不安になったので、もう一度実行すると

launchctl

裏でデータベースを作成しているみたいですね。

Macの容量にも左右されるので一概には言えませんが、5分程度経ったら改めてlocateコマンドを使ってみましょう。

after-locate

locateコマンドで結果が返ってきました。
rsyncd.confってないのか...この辺はまた記事にしよう。

これでSpotlight機能でも見つけられないようなライブラリファイル等を見つけることができました!

クラウドのプロに相談したい場合

弊社ビヨンドでは、創業以来、マルチクラウドインテグレーター・マネージドサービスプロバイダー(MSP)として培った技術力で、AWS や GCP・Azure・Oracle Cloud など、様々なクラウド / サーバーのプラットフォームを駆使した設計・構築・移行を行ってきました。

お客様が求めるシステムやアプリケーションの仕様・機能に応じて、お客様向けに最適化された、オーダーメイド型のクラウド / サーバー環境をご提供いたしますので、クラウドにご興味のある方はお気軽にお問い合わせください。

● クラウド / サーバー設計・構築
● クラウド / サーバー移行・マイグレーション
● クラウド / サーバー運用保守・監視(24時間365日)

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
2,832
X facebook はてなブックマーク pocket

この記事をかいた人

About the author