比find快N多倍的查找命令

使用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更好

本文原創地址:https://www.linuxprobe.com/linux-find-locate.html

相關文章
相關標籤/搜索