it-swarm.xyz

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

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

229
Thierry Lam

Это locate.updatedb на Mac.

Судо /usr/libexec/locate.updatedb

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

321
John T

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

84
Igor Vigasin

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

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

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

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

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

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

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

export LOCATE_PATH="~/tmp/locatedb"

19
Grogs

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