locateとupdatedbでファイルを高速検索

シェル上でファイルを検索するときfindを使っていたのだけれど

$ find DIRECTORY -name "FILENAME"

locate コマンドを使ったほうが早くて便利だよと教えてもらった。

$ locate "FILENAME"

locateはあらかじめ作成しておいたデータベースを使って検索するため、コマンドが叩かれる度に検索を実行するfindより早いらしい。

データベースは定期的に更新されるが、下記のコマンドで手動で更新できる。

$ sudo updatedb

Mac OSXの場合は

$ sudo /usr/libexec/locate.updatedb