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. Mysql 查看、创建、更改 数据库和表

    一.一探究竟 我想看看有多少个数据库,有多少个表,以及表里有啥东西.那么你可以这样: 图形界面: 命令: 查看多少个数据库:注意 后面带s #查看 SHOW DATABASES; #查看表 USE b ...

  2. 【转】机器学习教程 十四-利用tensorflow做手写数字识别

    模式识别领域应用机器学习的场景非常多,手写识别就是其中一种,最简单的数字识别是一个多类分类问题,我们借这个多类分类问题来介绍一下google最新开源的tensorflow框架,后面深度学习的内容都会基 ...

  3. 【转载】如何用IntelliJ IDEA 14 创建Web项目

    首先要理解一个概念:在IntelliJ IDEA中"new Project"相当于eclipse中的工作空间(Workspace),而"new Module"相 ...

  4. git gui 还原部分提交文件

    有时候用git提交文件的时候会一起提交了多个文件,但是突然后悔了,想把其中一个文件撤销提交,其他文件不做修改.这个时候该怎么办呢? 我觉得有很多办法,比如可以先checkout到上次的提交,然后复制要 ...

  5. [Tomcat] Tomcat的classloader

    定义 同其他服务器应用一样,tomcat安装了各种classloader(classes that implement java.lang.ClassLoader) Bootstrap | Syste ...

  6. 数据量大的数据转换成jason并显示在页面上

    代码列子: public ActionResult FindUserByUserId(SysMessageDTO model) { CustomResultMsg customResult = new ...

  7. 4种scope方法

    默认作用域,自动加载: default_scope { order(created_at: :desc) } model 调用 find_2时才运行 scope :find_2, ->{ whe ...

  8. 如何安装 第三方 Go 离线包? (GOPATH、 go install)

    有时候 go get 比较慢,可以考虑用迅雷等下载工具下载下来,然后再本地安装, 如:code.google.com/p/go.net/websocket,如何安装这些离线包? 先在你的 GOPATH ...

  9. 用Python生成测试数据

    转载自:http://blog.csdn.net/caz28/article/details/45972109 有时我们需要大量的数据,一般编个程序生成一堆随机数据,Python很适合文本处理,干这个 ...

  10. Android6.0权限组申请

    void checkPermission() { final List<String> permissionsList = new ArrayList<>(); if (Bui ...