如果我想locate
在 Linux 机器上使用该命令,我通常sudo updatedb
先运行以更新数据库。我可以locate
在 OS X 10.5 上运行该命令,但我找不到updatedb
。mac 对应的 updatedb 是什么?
答案1
答案2
您可以执行此操作sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb
以使该updatedb
命令可用。
答案3
就我个人而言,我刚刚安装了 findutils(使用 MacPorts 或 Homebrew)。
然后你就有了 GNUlocate 和 updatedb。
如果没有 sudo,updatedb 将无法工作。
不过,我个人更喜欢每个用户都有一个 locatedb;如果你使用 sudo,其他用户就会知道你所有文件的名称/位置。
我有一个要运行的 cron 作业:
updatedb --localpaths='/Users/grogs' --output='/Users/grogs/tmp/locatedb'
在我的.zshrc .bashrc/.bashprofile中:
export LOCATE_PATH="~/tmp/locatedb"
答案4
实际上您也可以在 Mac 中使用 GNU 定位和更新。
brew install findutils --with-default-names
export PATH="$(brew --prefix findutils)/libexec/gnubin:$PATH"
export MANPATH="$(brew --prefix findutils)/libexec/gnuman:$MANPATH"
which locate