locate 最快的查找文件的命令 NB
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/1483075140/20161229/1482892047/1482811421/1482478028/1482238124/1481852519/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.34-1.rhel5.x86_64.rpm-bundle.tar /usr/local/src/test/MySQL-client-5.6.34-1.rhel5.x86_64.rpm /usr/local/src/test/MySQL-devel-5.6.34-1.rhel5.x86_64.rpm /usr/local/src/test/MySQL-embedded-5.6.34-1.rhel5.x86_64.rpm /usr/local/src/test/MySQL-server-5.6.34-1.rhel5.x86_64.rpm /usr/local/src/test/MySQL-shared-5.6.34-1.rhel5.x86_64.rpm /usr/local/src/test/MySQL-shared-compat-5.6.34-1.rhel5.x86_64.rpm /usr/local/src/test/MySQL-test-5.6.34-1.rhel5.x86_64.rpm
-i是不分大小写
联系方式QQ:326528263 EMAIL:clnking@163.com 网名:bass 分享技术 突破难点 创新思维