Что эквивалентно команде Linux updatedb для Mac?

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

5 ответов

Решение

Это locate.updatedb на Mac.

sudo /usr/libexec/locate.updatedb

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

Ты можешь сделать sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb сделать updatedb команда доступна.

Лично я только что установил 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"

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

На самом деле вы можете использовать поиск и обновление GNU и на Mac.

      brew install findutils --with-default-names

export PATH="$(brew --prefix findutils)/libexec/gnubin:$PATH"
export MANPATH="$(brew --prefix findutils)/libexec/gnuman:$MANPATH"

which locate
Другие вопросы по тегам