回答:
試してください:
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パッケージは、組み込みユーティリティの制限のいくつかを克服するように見えるコマンドとコマンドを有効にします。gupdatedb
glocate
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
オプションは追加の出力を生成しないようです:/