ファイルを高速検索できるlocateコマンドをMacで使用する方法について解説!
普段はMacとWindowsの両刀使い、インフラエンジニアの伊藤です。
Macのファイル検索機能といえばSpotlight検索ですよね!でも、Spotlight機能だけでは、深い階層にある設定ファイルとかが見つからないんですよね...
そんなときに使えるのが「locate」コマンドです。ファイルのインデックスデータベースを作成してファイルを高速で検索出来ます。
ファイルのインデックスデータベースを作成・更新する必要がありますが、findコマンドと比較するとかなり早いです。
ちなみにfindコマンドはリアルタイムでファイルを検索して表示するので、そこまで高速ではないです。
ってことでlocateコマンドでファイルを探そう!と思ったら、Macではすぐにlocateコマンドが使えませんでした…
今回は、Macでlocateコマンドを使う方法です。
Macでlocateする
こんな感じで怒られました。
ま、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コマンドじゃなかったです。
ということで、言われるがままコマンドを実施してみましょう。
一瞬で終わって不安になったので、もう一度実行すると
裏でデータベースを作成しているみたいですね。
Macの容量にも左右されるので一概には言えませんが、5分程度経ったら改めてlocateコマンドを使ってみましょう。
locateコマンドで結果が返ってきました。
rsyncd.confってないのか...この辺はまた記事にしよう。
これでSpotlight機能でも見つけられないようなライブラリファイル等を見つけることができました!
クラウドのプロに相談したい場合
弊社ビヨンドでは、創業以来、マルチクラウドインテグレーター・マネージドサービスプロバイダー(MSP)として培った技術力で、AWS や GCP・Azure・Oracle Cloud など、様々なクラウド / サーバーのプラットフォームを駆使した設計・構築・移行を行ってきました。
お客様が求めるシステムやアプリケーションの仕様・機能に応じて、お客様向けに最適化された、オーダーメイド型のクラウド / サーバー環境をご提供いたしますので、クラウドにご興味のある方はお気軽にお問い合わせください。
● クラウド / サーバー設計・構築
● クラウド / サーバー移行・マイグレーション
● クラウド / サーバー運用保守・監視(24時間365日)