Что эквивалентно команде 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