web-dev-qa-db-pt.com

Qual é o equivalente do comando updatedb do Linux para o Mac?

Se eu quiser usar o comando locate em uma máquina Linux, geralmente executo Sudo updatedb primeiro para atualizar o banco de dados. Eu posso executar o comando locate no OS X 10.5, mas não consigo encontrar updatedb. Qual é o updatedb correspondente para o mac?

229
Thierry Lam

É locate.updatedb no Mac.

Sudo /usr/libexec/locate.updatedb

Para mais informações, consulte a página locate.updatedb man page .

321
John T

Você pode fazer Sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb para disponibilizar o comando updatedb.

84
Igor Vigasin

Pessoalmente, acabei de instalar findutils (use MacPorts ou Homebrew).

Então você tem GNU locate e updatedb.

o updatedb não funciona sem o Sudo.

Pessoalmente eu prefiro ter um usuário localizado embora; se você Sudo outros usuários saberão os nomes/localizações de todos os seus arquivos.

Eu tenho um cron job para executar:

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

E no meu .zshrc .bashrc/.bashprofile:

export LOCATE_PATH="~/tmp/locatedb"

19
Grogs

Se você executar o locate sem primeiro atualizar o banco de dados, terá a chance de ver a maneira recomendada do SO por sua saída.

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六四