locate命令其实是find -name的另一咱写法,但是要比后者快的多,原因在于它不搜索具体目录,而是搜索/var/lib/locatedb或/var/lib/mlocate/mlocate.db,这个数据库中含有本地所有文件信息。linux系统自动创建这个数库,并且每天自动更新一次,所以使用locate命令 查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

如下面的例子:

[root@NB test]# touch chehi123
[root@NB test]# pwd
/root/test
[root@NB test]# cd
[root@NB ~]# pwd
/root
[root@NB ~]# locate chehi
[root@NB ~]# updatedb
[root@NB ~]# locate chehi
/root/test/chehi123
#但在/tmp下的文件是不效的
[root@NB tmp]# touch tmp123
[root@NB tmp]# pwd
/tmp
[root@NB tmp]# locate tmp123
[root@NB tmp]# cd
[root@NB ~]# locate tmp123
[root@NB ~]# updatedb
[root@NB ~]# locate tmp123
[root@NB ~]#

 注意:在u盘里的文件也不会被存在/var/lib/mlocate/mlocate.db中,所以locate不能查到u盘内的文件!!!!!确切地说放在/media下的文件都不会被存在/var/lib/mlocate/mlocate.db中!!

我见过最NB的查找文件最快的命令

[root@NB data]# locate teamviewer.
/data/Software/teamviewer.i686.rpm
/home/ok/.local/share/teamviewer11/drive_c/teamviewer.html
/home/ok/Desktop/TMP/teamviewer.png
/home/ok/Downloads////////test/teamviewer.zip
/opt/teamviewer/tv_bin/desktop/teamviewer.png

locate -r :使用正规运算式做查找的条件以makefile结尾的

[root@NB data]# locate -r makefile$
/usr/local/src/rar/makefile

以/usr/local/src/test开头的

[root@NB dnsmasq]# locate -r  ^/usr/local/src/test
/usr/local/src/test
/usr/local/src/test/MySQL-5.6.-.rhel5.x86_64.rpm-bundle.tar
/usr/local/src/test/MySQL-client-5.6.-.rhel5.x86_64.rpm
/usr/local/src/test/MySQL-devel-5.6.-.rhel5.x86_64.rpm
/usr/local/src/test/MySQL-embedded-5.6.-.rhel5.x86_64.rpm
/usr/local/src/test/MySQL-server-5.6.-.rhel5.x86_64.rpm
/usr/local/src/test/MySQL-shared-5.6.-.rhel5.x86_64.rpm
/usr/local/src/test/MySQL-shared-compat-5.6.-.rhel5.x86_64.rpm
/usr/local/src/test/MySQL-test-5.6.-.rhel5.x86_64.rpm

-i是不分大小写

locate 最快的查找文件的命令 NB的更多相关文章

  1. Linux基本命令(9)定位、查找文件的命令

    定位.查找文件的命令 命令 功能 命令 功能 which 从path中找出文件的位置 find 找出所有符合要求的文件 whereis 找出特定程序的路径 locate 从索引中找出文件位置 9.1 ...

  2. CentOS定位、查找文件的命令

    定位.查找文件的命令 命令 功能 命令 功能 which 从path中找出文件的位置 find 找出所有符合要求的文件 whereis 找出特定程序的路径 locate 从索引中找出文件位置 9.1 ...

  3. Linux中常用的查找文件的命令

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...

  4. linux查找文件夹命令

    查找命令: 查找根目录下查找文件夹名称叫www.91cnm.com的目录地址 find / -name www.91cnm.com -d 1 查找/var/www/目录下叫index.php的文件 f ...

  5. find 查找文件的命令

    find顾名思义就是查找,Linux下find命令提供相当多的查找条件,可以在众多文件或目录下查找你想要的任何文件或目录. 语法: find filename 我当前目录下有aaa.txt和bbb.t ...

  6. linux查找文件的命令【转】

    原文链接:http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 1. fi ...

  7. Linux系统查找文件find命令使用(不断更新)

    个人博客地址:http://www.cnblogs.com/wdfwolf3/. 使用格式:find  [查找目录]  [查找规则]  [查找完后执行的操作] [查找目录] 即要查找的路径,可以使用 ...

  8. linux 查找文件的命令

    http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html

  9. Linux 查找文件命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

随机推荐

  1. http与https的区别

    HTTPhttp是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型.http通常承载于TCP之上,有时也承载于TLS或SSL协议层之上,这就是常说的httphttp 无状态协议,同一个客 ...

  2. thinkphp添加数据

    <?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...

  3. MVC CheckBoxList的实现

    using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...

  4. git操作---更新删除

    1.更新git   git pull <远程主机名> <远程分支名> 例如:git pull origin master 2.更新子模块 git submodule updat ...

  5. 关于HTML5本地缓存技术LocalStorage 本地存储 和 SessionStorage

    如果你想在用户访问的时候记录或者记住他们的行为,你会想到的是什么,cookie 和session.但今天告诉你还有两种或者说是1种吧 那就是html5的 LocalStorage 本地存储和 Sess ...

  6. Git 分支管理和冲突解决

    Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支 ...

  7. COM 组件基础——GUID 和 接口

    一.前言 书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了.那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时 ...

  8. c语言经典算法—求0—7 所能组成的奇数个数

    题目:求0—7 所能组成的奇数个数. 算法思想:这个问题其实是一个排列组合的问题,设这个数为sun=a1a2a3a4a5a6a7a8,a1-a8表示这个数的某位的数值,当一个数的最后一位为奇数时,那么 ...

  9. 爬取https页面遇到“SSLError: hostname 'xxx' doesn't match either of”的解决方法

    使用python requests 框架包访问https://itunes.apple.com 页面是遇到 SSLError: hostname 'itunes.apple.com' doesn't ...

  10. python pip方式安装selenium

    pip --default-timeout=1000 install -U selenium