Linux文件查找

Linux文件查找相关的命令一般涉及两个命令:

  • locate
  • find

 

 

locate

格式:

locate 文件名

locate 正则表达式

 

说明:

locate不是搜索文件系统,而是从一个数据库中搜索。所以locate命令的搜索速度非常快。

 

但locate命令找不到刚创建的新文件。新文件的信息不会实时保存到数据库。使用updatedb命令,会把文件系统的信息保存至数据库,updatedb一般是每天运行一次。

updatedb命令可以手动运行,但updatedb命令只能由root用户运行。

 

例:

locate vimrc

 

 

 

find

find命令用于查找当前目录下的文件。

 

例:

查找当前目录下所有的内容,包括目录与文件:

find .

 

查找当前目录下所有的txt文件:

find . | grep .txt

 

查找当前目录所有的文件:

find . -type f

 

查找当前目录所有的目录:

find . -type d

 

对搜索出的文件集合执行命令:

find . -type f -exec ls -l ‘{}‘ ‘;‘

 

对搜索出的文件集合进行的内容查找:

find . -type f -exec grep hello ‘{}‘ ‘;‘

 

对搜索出的文件集合进行的内容查找,并输出匹配内容所在的文件:

find . -type f -exec grep hello ‘{}‘ ‘;‘ -print

 

对搜索出的文件集合进行的内容查找,并输出匹配内容所在的文件,并输出匹配内容的行号:

find . -type f -exec grep -n hello ‘{}‘ ‘;‘ -print

 

对搜索出的文件集合进行的内容查找,内容查找忽略大小写;输出匹配内容所在的文件,并输出匹配内容的行号:

find . -type f -exec grep -ni hello ‘{}‘ ‘;‘ -print

 

 

说明:

‘{}‘ :表示find命令搜索的结果集。

find命令的输出以深度优先的方式将内存搜索并输出。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。