223

Если я хочу использовать команду locate на компьютере с Linux, я обычно запускаю sudo updatedb чтобы обновить базу данных. Я могу выполнить команду locate в OS X 10.5, но я не могу найти updatedb . Что такое соответствующий updatedb для Mac?

4 ответа4

316

Это locate.updatedb на Mac.

sudo /usr/libexec/locate.updatedb

Для получения дополнительной информации см. Справочную страницу locate.updatedb.

83

Вы можете выполнить команду sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb чтобы сделать команду updatedb доступной.

19

Лично я только что установил findutils (использую MacPorts или Homebrew).

Тогда у вас есть GNU locate и updatedb.

updatedb не будет работать без sudo.

Лично я предпочитаю иметь каждого пользователя, расположенногоb; если вы sudo, другие пользователи будут знать имена / расположение всех ваших файлов.

У меня есть работа cron:

updatedb --localpaths='/Users/grogs' --output='/Users/grogs/tmp/locatedb'

И в моем .zshrc .bashrc/.bashprofile:

export LOCATE_PATH="~/tmp/locatedb"

2

Если вы запустите 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .