locate 在linux下快速定位文档

linux 下可以使用 locate 和 find 来查找文件,但是 locate 在定位时要比 find 快.


他们的区别:

locate 并不是穿梭于档案文件中查找,而是在数据库查找文件.

find  正好相反,他的查找要穿梭于档案文件中.


这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.

所以 locate 要查询实时数据,需要更新数据库.

locate -- u


使用格式:

zhangzhi@moke:~$ locate [-ir] keyword

-i 不区分大小写

-r 后面可以接收正则表达式



使用方法:

  1. 全局查找一个

zhangzhi@moke:~$ locate h

数据非常快.


2.指定目录查找,以 xxx 开头的文件

zhangzhi@moke:~$ locate code/pgcharts/README
/Users/zhangzhi/code/pgcharts/README.md

指定文件目录 code/pgcharts  下查找  README 开头的文件.


不区分大小写:

zhangzhi@moke:~$ locate -i code/pgcharts/readme
/Users/zhangzhi/code/pgcharts/README.md


3. 指定目录查找,包含 xxx 的文件

zhangzhi@moke:~$ locate -i readme |grep code/pgcharts/
/Users/zhangzhi/code/pgcharts/README.md
/Users/zhangzhi/code/pgcharts/build/quicklisp/dists/quicklisp/software/alexandria-20150505-git/README
/Users/zhangzhi/code/pgcharts/build/quicklisp/dists/quicklisp/software/bordeaux-threads-0.8.3/README
/Users/zhangzhi/code/pgcharts/build/quicklisp/dists/quicklisp/software/esrap-20150302-git/README.org
/Users/zhangzhi/code/pgcharts/build/quicklisp/dists/quicklisp/software/md5-20130312-git/README
/Users/zhangzhi/code/pgcharts/build/quicklisp/dists/quicklisp/software/parse-number-1.4/README
/Users/zhangzhi/code/pgcharts/build/quicklisp/dists/quicklisp/software/py-configparser-20131003-svn/README
/Users/zhangzhi/code/pgcharts/web/codemirror-4.5/README.md
/Users/zhangzhi/code/pgcharts/web/highcharts/exporting-server/java/readme.md
/Users/zhangzhi/code/pgcharts/web/highcharts/exporting-server/phantomjs/readme.md
/Users/zhangzhi/code/pgcharts/web/images/README.md

这次查到 code/pgcharts 目录下包含了很多大小写的 readme 文件.


上面组合使用了 |grep   命令


什么是 grep ?

grep 是 linux 下强大的文本搜索命令.

它支持使用正则表达式搜索,并把匹配到的内容打印出来,回头可以详细说下这个命令.




回到顶部