linux查找文件命令
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