locate: Search File By Name

风行水上 @ 2014-03-11 11:05:54
标签:

    Windows平台上有个软件叫做Everything很是受好评,用来快速地根据文件名搜索文件。

    Linux平台上功能与之类似的程序叫做locate

    • updatedb命令用来建立文件索引数据库
    • locate命令用来进行文件名查询
    # Linux version of Everything on Windows
     
    updatedb --require-visibility 0 -o ~/locate.db && chmod 600 ~/locate.db
    
    # -l, --require-visibility FLAG
     
    locate -d ~/locate.db $pattern  
     
    setenv LOCATE_PATH ~/locate.db
    locate $pattern
     
    locate -b $pattern  ;# match base name
    locate -w $pattern  ;# match whole path (default)
    locate -r $regexp   ;# match with regexp
     
     
    # Show database statistics
    locate -S
    

    其中--require-visibility 0的作用是避免错误信息:updatedb: can not open a temporary file for ...

    使用locate的原因显然是因为每次查询都使用find命令的话,查询速度太慢了。

    locatedb 的格式

    TODO

    参考:http://man.cx/locatedb

    标签:

      分享到:
      comments powered by Disqus

      23/27ms