使用linux操做系統的人,通常都用過文件查找命令find,在文件數量很是龐大的時候,好比在高通的android工程項目中,目錄大小有十幾個G,文件數量很是多,用find命令就太慢了。html
下面介紹一個比find快得多的命令,搜索任何文件幾乎都能在一秒內返回。linux
mlocateandroid
這個命令的原理是,先爲文件系統建立索引數據庫,mlocate只是搜索索引,因此速度快數據庫
準備工做:建立數據庫(建立索引)操作系統
sudo updatedb 只有root權限才能執行,他會掃描整個系統,爲整個系統建立索引,數據庫在/var/lib/mlocate/mlocate.dbhtm
這個過程會比較慢,能夠在中午或晚上跑一下,執行完了上面的命令就能夠使用mlocate搜索文件了索引
使用命令get
mlocate abc.txt原理
mlocate -ie abc.txt 若是 abc.txt已經刪除了,使用-e會檢查文件是否真實存在,而沒必要updatedb;-i,忽略大小寫date
mlocate /etc/*profile 在/etc中查找相似profile的文件
注意:對於新增文件應該先updatedb更新數據庫,不然就搜不到,固然更新索引時,執行updatedb仍是比較快的
注:locate和mlocate均可以,mlocate更好