locate

locate命令可以在搜寻数据库时快速找到档案,locate为模糊查找

Locate [参数] 关键字
	-i	忽略大小写
	-n/l	至多显示n个输出

示例

#搜索etc目录下所有以sh开头的文件
[root@CentOS7] locate /etc/sh    
/etc/shadow
/etc/shadow-
/etc/shells

#忽略大小写
[root@centos7]  locate -i ~/d
/root/Desktop/root/Documents/root/Downloads
/root/d1
find

find命令是一个实时查找工具,通过遍历指定路径而完成对文件的查找;在使用该命令时,如果不选定参数,则在当前目录下查找子目录与文件并显示之;另外,任何位于参数之前的字符串,都将视为欲查找的目录名。由于是实时遍历查找,find有如下特性:精确实时查找,速度慢,可能只搜索用户具备读取和执行权限的目录。

find [OPTION]... [查找路径] [查找条件] [处理动作]
  • 查找路径:指定具体目标路径,默认为当前目录

  • 查找条件:指定的查找标准,可以是文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件

  • 处理动作:对符合条件的文件做操作,默认输出至屏幕

locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快

参数

文件名和inode类:

    -name "文件名称": 支持使用glob, *, ?, [], [^]

    -iname "文件名称": 不区分字母大小写

    -inum n: 按inode号查找

    -somefile name: 相同的inode号文件

    -links n: 链接数为n的文件

    -regex "PATTERN": 以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称

示例

#查找etc目录下文件名为my.cnf的文件
find /etc/ -name my.cnf

参考文档