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

219

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?

    
por Thierry Lam 16.02.2010 / 16:23

4 respostas

308

É locate.updatedb no Mac.

sudo /usr/libexec/locate.updatedb

Para obter mais informações, consulte o localizador Página de manual do .updatedb .

    
por 16.02.2010 / 16:27
81

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

    
por 19.10.2012 / 00:29
19
Pessoalmente, acabei de instalar o findutils (use MacPorts ou Homebrew).

Então você tem o GNU locate e updatedb.

updatedb não funciona sem sudo.

Pessoalmente, prefiro ter um usuário localizadob; 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"

    
por 04.12.2011 / 03:27
2

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
    
por 15.08.2017 / 11:09