動かざることバグの如し

近づきたいよ 君の理想に

locateコマンドでディスク全体から一発検索

例えば「libjpeg.soを含むファイルをディスク全体から検索したい」ってときは今までfindコマンド使っていた

find / -name "*libjpeg.so*"
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2

が、当然/を軸にfindしてるので時間がかかる

最近locateコマンドと言う存在を知った。

locate libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2

一発で検索できる。しかもコマンドも楽

出ないじゃん

なぜ早いかって言うとLinux側がもっているファイル名データベースの情報をもとに検索しているだけ。これはリアルタイムに更新されているわけではないので、直近にできたばかりのファイルはヒットしない。

そんなときは

updatedb

で更新される。