回答:
試してください:
sudo /usr/libexec/locate.updatedb
そして設定を見てください:
/etc/locate.rc構成ファイル
編集済み:
ここに出力を投稿:
echo $LOCATE_CONFIG
そして:
cat /etc/locate.rc
そして:
echo $0
更新:
ロケートプログラムは、指定されたパターンに一致するすべてのパス名をデータベースで検索します。データベースデータベースのベースは定期的に(通常は毎週または毎日)再計算され、公開されているすべてのファイルのパス名が含まれています。
試してみてくださいmdfind代わりに探します
更新2:
mdfind-より正確なテキスト。mdfind textだけで、テキストを含むファイルも提供されます。–デビッドクルンポティック
mdfind -name text
mdfind -name textより正確な回答を更新する必要があります。ただ、mdfind textあなたのファイルができます含まれているだけでなく、テキストを。
明らかに場所を特定できないため、アクセス許可が原因である可能性があります。詳細については、Plundraによるこの回答を参照してください。
homebrewのfindutilsパッケージは、組み込みユーティリティの制限のいくつかを克服するように見えるコマンドとコマンドを有効にします。gupdatedbglocate
mdutilこれをチェックするのは理にかなっていますか?私が考えることができるユースケースの1つは、手動で再スキャンをトリガーできることですgupdatedb-Spotlightではそれほど簡単ではないか、時間がかかります(ファイルコンテンツのインデックスも作成します)。他の利点はありますか?
updatedbその方が速いです。〜/ Libraryおよびその他のシステムファイルを無視しているglocateのに、システムファイルのインデックス作成に問題はないようmdfindです。私は間違いなく私がより多くのヒットを得る見つけるglocateオーバーmdfindほとんどの状況インチ YMMV。
sudo gupdatedb、glocate Radium出力を保存しました。それから私は走りgupdatedb、それは言った:/.Trashes: Permission denied、他のいくつかのフォルダーのために同じ。両方の出力を比較しましたが、同じでした!奇妙な...
sudo gupdatedb(ルートとして実行)、その後gupdatedb、ルートユーザーがアクセスするファイルにアクセスできない通常のユーザーとして実行することにより、フォローアップしました許可はエラーを拒否しました。システム全体のファイル名の完全なデータベースが必要な場合は、rootとして実行し続けます。これにより、glocateコマンドを使用するシステム上の他のユーザーにファイルが公開されます。しかし、あなたが唯一のユーザーであれば、それは問題ないはずです。
#SEARCHPATHS="/"は設定でコメントを外しましたが、助けにはなりませんでした。-vオプションは追加の出力を生成しないようです:/