Ответы:
Пытаться:
sudo /usr/libexec/locate.updatedb
И посмотри конфиг:
/etc/locate.rc файл конфигурации
Отредактировано:
Опубликуйте здесь вывод:
echo $LOCATE_CONFIG
А также:
cat /etc/locate.rc
А также:
echo $0
Обновить:
Программа locate ищет в базе данных все пути, соответствующие указанному шаблону. База данных базы данных пересчитывается периодически (обычно еженедельно или ежедневно) и содержит имена всех файлов, которые являются общедоступными .
Попробуйте вместо mdfind найти
Updated2:
mdfind - имя текста, который является более точным. Просто текст mdfind дает вам файлы, которые также содержат текст. - Дэвид Крмпотик
mdfind -name text
mdfind -name text
который является более точным. Просто mdfind text
дает вам файлы, которые также содержат текст.
Разрешения могут быть причиной, так как locate явно не может читать файлы, которые не доступны для чтения всем пользователям. Смотрите этот ответ на Plundra для более подробного объяснения.
Пакет findutils от homebrew действительно включает gupdatedb
и glocate
команды, которые, кажется, преодолевают некоторые ограничения встроенных утилит.
mdutil
есть ли смысл проверить это? Один из вариантов использования, о котором я могу подумать, заключается в том, что я могу запустить повторное сканирование вручную gupdatedb
- с помощью Spotlight это не так просто, или это займет больше времени (это также индексирует содержимое файлов). Есть ли другие преимущества?
updatedb
быстрее для этого. glocate
Кажется, нет проблем с индексацией системных файлов, в то время как я считаю, mdfind
игнорирует ~ / Library и другие системные файлы. Я определенно считаю , я получить больше хитов с glocate
более чем mdfind
в большинстве случаев. YMMV.
sudo gupdatedb
, а затем сохранил glocate Radium
вывод. Затем я побежал gupdatedb
и сказал:, /.Trashes: Permission denied
то же самое для некоторых других папок. Я сравнил вывод для обоих, и это было то же самое! Странно ...
sudo gupdatedb
(запустив его с правами root), а затем позже запустились gupdatedb
как обычный пользователь, у которого не было бы доступа к файлам, к которым у корневого пользователя был бы доступ, то есть вы получите В разрешении отказано в ошибках. Если вам нужна полная база данных имен файлов для всей вашей системы, продолжайте запускать ее как root. Это предоставляет ваши файлы другим пользователям в системе, которые могут использовать glocate
команду. Но если вы единственный пользователь, это должно быть хорошо.
#SEARCHPATHS="/"
в конфиге, это не помогло.-v
опция не производит никаких дополнительных выходных данных: /