it-swarm.it

Qual è l'equivalente del comando updatedb di Linux per il Mac?

Se voglio usare il comando locate su una macchina Linux, di solito eseguo Sudo updatedb per aggiornare il database. Posso eseguire il comando locate su OS X 10.5 ma non riesco a trovare updatedb. Qual è il corrispondente updatedb per il mac?

229
Thierry Lam

È locate.updatedb su Mac.

Sudo /usr/libexec/locate.updatedb

Per ulteriori informazioni, consultare la pagina locate.updatedb .

321
John T

Puoi fare Sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb per rendere disponibile il comando updatedb.

84
Igor Vigasin

Personalmente, ho appena installato findutils (usa MacPorts o Homebrew).

Quindi hai GNU locate e updatedb.

updatedb non funzionerà senza Sudo.

Personalmente preferisco avere un localizzatore per utente; se Sudo altri utenti conoscono i nomi/posizioni di tutti i tuoi file.

Ho un cron job da eseguire:

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

E nel mio .zshrc .bashrc/.bashprofile:

export LOCATE_PATH="~/tmp/locatedb"

19
Grogs

Se si esegue locate senza prima aver aggiornato il database, è possibile vedere il modo consigliato dal sistema operativo in base all'output.

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