locate 在linux下快速定位文档
linux 下可以使用 locate 和 find 来查找文件,但是 locate 在定位时要比 find 快.
他们的区别:
locate 并不是穿梭于档案文件中查找,而是在数据库查找文件.
find 正好相反,他的查找要穿梭于档案文件中.
这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.
所以 locate 要查询实时数据,需要更新数据库.
locate -- u
使用格式:
zhangzhi@moke:~$ locate [-ir] keyword
-i 不区分大小写
-r 后面可以接收正则表达式
使用方法:
全局查找一个
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 下强大的文本搜索命令.
它支持使用正则表达式搜索,并把匹配到的内容打印出来,回头可以详细说下这个命令.