
Mac OS Xターミナルで「locate」コマンドを有効にして使用する
ファイル、ファイルタイプ、アプリ、拡張子、システムフォルダの奥深くに隠れているものなど、Spotlightでは管理できないあらゆるものをすべて追跡したい場合、locateコマンドは非常に便利です。トラブルシューティングや、Macアプリの完全アンインストールといった日常的な作業にも非常に役立ちます。
locate を使用するには、locate データベースを構築する必要があります。これにより、whatis、find、手動キーワード検索「man -k」など、いくつかの便利なコマンドも有効になります。OS X 10.7 では、このデータベース構築がより適切に行われるようになりましたが、locate がまだ有効になっていない場合は、ターミナルに次のコマンドを入力するだけで済みます。
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
これは、locate またはデータベースに依存するコマンドのいずれかを初めて実行しようとしたときに、OS X から直接通知されます。
$ Pythonを探す
警告: ロケートデータベース (/var/db/locate.database) が存在しません。
データベースを作成するには、次のコマンドを実行してください。sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
データベースの生成には時間がかかる場合があることに注意してください。
データベースが作成されると、このメッセージは表示されなくなります。
データベースの生成にかかる時間は様々ですが、ハードディスクの容量が大きいほど時間がかかります。アクティビティモニタで間接的に進行状況を確認できます。locateデータベースが生成されるまで、「find」プロセスがCPU使用率約15~30%で実行されているのが確認できます。
あるいは、次のコマンドを実行してデータベースを構築することもできます。
sudo /usr/libexec/locate.updatedb
多くのターミナルコマンドと同様に、locateはワイルドカードと正規表現に対応しており、高度な検索を絞り込むのに役立ちます。例えば、.jpg拡張子を持つすべてのファイルを検索するには、次のコマンドを使用します。
locate *.jpg
ただし、一部の jpg ファイルには必然的に大文字の拡張子が付くため、-i を使用して locate に大文字と小文字の区別を無視するように指示できます。
locate -i *.jpg
他にも使用できるオプションはたくさんあります。詳細については、「man locate」を参照してください。
その他の OS X コマンドラインのヒントも忘れずに確認してください。