【每天一个Linux命令】14. Linux中locate命令的用法
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。
其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。 所以你要知道:
1. locate的速度比find快,因为它并不是真的查找文件,而是查数据库
2. locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护
3. 升级数据库命令:locate -- u 命令用法
#查看locate版本信息-V
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -V
mlocate 0.25
Copyright (C) 2007 Red Hat, Inc. 保留所有权利。
本软件在 GPL v.2 下发布。 本程序不提供任何担保,在法法律允许的范围内予以排除。
#查看locate帮助信息
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -h
用法: locate [OPTION]... [PATTERN]...
在mlocate数据库中搜索条目. -b, --basename 匹配唯一的路径名称的基本文件名
-c, --count 只显示找到条目的号码
-d, --database DBPATH 用 DBPATH 替代默认的数据库(/var/lib/mlocate/mlocate.db)
-e, --existing 只显示当前存在的文件条目
-L, --follow 当文件存在时跟随蔓延的符号链接 (默认)
-h, --help 显示本帮助
-i, --ignore-case 匹配模式时忽略大小写区别
-l, --limit, -n LIMIT 限制为 LIMIT项目的输出 (或 计数)
-m, --mmap 忽略向后兼容性
-P, --nofollow, -H 当检查文件时不跟随蔓延的符号
链接
-0, --null 输出时以 NUL 分隔项目
-S, --statistics 不搜索项目,显示有关每个已用数据库的统计信息
-q, --quiet 不报告关于读取数据库的错误消息
-r, --regexp REGEXP 搜索基本正则表达式 REGEXP 来代替模式
--regex 模式是扩展正则表达式
-s, --stdio 忽略向后兼容性
-V, --version 显示版本信息
-w, --wholename 匹配完整路径名 (默认) 将 bug 报告给 mitr@redhat.com.
# 查找etc目录下所有以sh开头的文件
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
#查看soft目录下以android开头的文件,限定只显示5个,使用 -n
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -n 5 /soft/android
/home/bixiaopeng/soft/android-studio
/home/bixiaopeng/soft/android-studio-bundle-130.737825-linux.tgz
/home/bixiaopeng/soft/android-studio/Install-Linux-tar.txt
/home/bixiaopeng/soft/android-studio/LICENSE.txt
/home/bixiaopeng/soft/android-studio/NOTICE.txt
#查找时区分大小写
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate makefile
/usr/share/doc/python3-uno/demo/makefile.mk
/usr/share/emacs/23.4/lisp/cedet/ede/makefile-edit.elc
/usr/share/gtksourceview-3.0/language-specs/makefile.lang
/usr/share/icons/Humanity/mimes/16/gnome-mime-text-x-makefile.svg
/usr/share/icons/Humanity/mimes/22/gnome-mime-text-x-makefile.svg .....
#查找时不区分大小写,使用 -i
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -i makefile /usr/src/linux-headers-3.8.0-30/kernel/Makefile
/usr/src/linux-headers-3.8.0-30/kernel/debug/Makefile
/usr/src/linux-headers-3.8.0-30/kernel/debug/kdb/Makefile
/usr/src/linux-headers-3.8.0-30/kernel/events/Makefile ......
# ------------- 使用正规运算式 做查找的条件 locate -r
#查找以makefile结尾的文件
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -r makefile$
/usr/src/linux-headers-3.8.0-19/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-19-generic/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-27/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-27-generic/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-29/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-29-generic/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-30/scripts/mkmakefile
/usr/src/linux-headers-3.8.0-30-generic/scripts/mkmakefile
#查找以/var/lib/dpkg/info/开头的文件
bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -r ^/var/lib/dpkg/info/ /var/lib/dpkg/info/zlib1g:amd64.postinst
/var/lib/dpkg/info/zlib1g:amd64.postrm
/var/lib/dpkg/info/zlib1g:amd64.shlibs
/var/lib/dpkg/info/zlib1g:amd64.symbols
/var/lib/dpkg/info/zlib1g:i386.list
/var/lib/dpkg/info/zlib1g:i386.md5sums
/var/lib/dpkg/info/zlib1g:i386.postinst
/var/lib/dpkg/info/zlib1g:i386.postrm
/var/lib/dpkg/info/zlib1g:i386.shlibs
/var/lib/dpkg/info/zlib1g:i386.symbols
【每天一个Linux命令】14. Linux中locate命令的用法的更多相关文章
- [转帖]Linux教程(14)- Linux中的查找和替换
Linux教程(14)- Linux中的查找和替换 2018-08-22 07:03:58 钱婷婷 阅读数 46更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...
- windows下命令行模式中cd命令无效的原因
当我们执行cmd 想切换当前工作目录时,会发现windows下命令行模式中cd命令没有生效,到底是什么原因呢? 例如: 当我们想切换到 D:\MySql\mysql-5.7.19-winx64\bin ...
- Linux中locate命令的实践总结
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...
- 每天一个Linux命令(18)--locate命令
locate让使用者可以很快速的搜寻档案系统内是否有指定的档案.器方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就需查询这个数据库,而不必实际深入档案系统之中了.在一般的 ditr ...
- Linux whereis、find和locate命令区别以及应用场景
查找某个文件是我们在使用使用linux中非常常用的一个命令. linux中有多个查找文件的指令:whereis.find.locate都有类似查找的功能,下面将讲解这些指令之间的区别. whereis ...
- linux下shell脚本中sed命令的用法
先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> te ...
- linux命令在文件中根据命令查找
find . -type f -name "*.tmp" | xargs grep -ri "2016-08-30 04:00:00|2016-08-30 05:00:0 ...
- 【Linux】在centos中使用命令安装redis
1.前提centos能够上网 测试方式输入命令,有数据返回即可.如果则先配置centos网络连接. ping www.baidu.com 2.安装gcc 输入命令进行安装 yum install gc ...
- linux学习14 Linux运维高级系统应用-glob通配及IO重定向
一.回顾 1.bash基础特性:命令补全,路径补全,命令引用 2.文件或目录的复制,移动及删除操作 3.变量:变量类型 存储格式,数据表示范围,参与运算 二.bash的基础特性 1.globbing: ...
随机推荐
- .net Mvc Controller 接收 Json/post方式 数组 字典 类型 复杂对象
原文地址:http://www.cnblogs.com/fannyatg/archive/2012/04/16/2451611.html ------------------------------- ...
- OSCHina技术导向:Java WEB企业门户平台Liferay
Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了We ...
- Makefile里面的$(MAKE)到底是啥
[已解决]Makefile里面的$(MAKE)到底是啥 [复制链接] http://bbs.chinaunix.net/thread-4164499-1-1.html make 定义了很多默认变量,像 ...
- 后缀数组da3模板
在做poj2406的时候...按论文给的rmq模板会超内存...然后网上找了http://blog.csdn.net/libin56842/article/details/46310425这位大爷的d ...
- Tree(prime)
Tree Time Limit : 6000/2000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissi ...
- Android分析第三方应用layout的神器
hierarchyviewer.bat或者monitor.bat一直都是分析layout的神器,只是.非常多时候不好用,连不上真机,害的我不得不使用模拟器来分析layout. 今天发现了另外一个神器. ...
- oracle的内存管理(之中的一个)
[深入解析oracle-eygle]学习笔记 1.内存管理 ORACLE数据库所使用的内存主要涉及到两个方面:PGA和SGA. 1.1 PGA管理 PGA指的是程序全局区(Program Global ...
- JavaScript判断图片是否加载完成
一.load事件 <!DOCTYPE HTML><html> <head> <meta charset="utf-8"> ...
- T-SQL索引
索引 使用索引可以提高查询速度,不是越多越好,会损耗存储空间.应用于出现在where子句中的列建立索引.可以使用sql server 内置工具Profiler捕捉在SQL Server实例上执行的活动 ...
- chrome浏览器的桌面通知
最近在使用朋友网(不加链接,避免有打广告的嫌疑),发现会出现提示“是否允许网站显示桌面通知?”,如下图所示: 这种做法,在页面加载完时直接调用请求,比起开心网的这种提示感觉有些野蛮了.开心网的桌面通知 ...