二.Linux常用搜索命令

二.Linux常用搜索命令
本笔记提纲:
1.文件搜索命令locate
2.命令搜索命令whereis和which
3.文件搜索命令find
4.字符串搜索命令grep
5.find命令和grep命令的区别

2.1.文件搜索命令locate
1.locate命令格式
  • locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
  • /var/lib/mlocate
#locate命令所搜索的后台数据库
  • updatedb

#更新数据库

二.Linux常用搜索命令_第1张图片

 

locate按照updatedb.conf来搜索


/etc/updatedb.conf配置文件内容:
  • PRUNE_BIND-MOUNTS='yes'
#开启搜索限制
  • PRUNEFS=
#搜索时不搜索的文件系统
  • PRUNENAMES = 
#搜索时不搜索的文件类型
  • PRUNEPATHS = 
#搜索时不搜索的路径
 二.Linux常用搜索命令_第2张图片
locate命令搜索优点:在后台数据库搜索,因此搜索速度更快
缺点:只能按文件名搜索,而不能搜索更加复杂的内容
2.2命令搜索命令whereis和which文件搜索命令find
1.搜索命令的命令whereis
  • whereis命令名
#搜索命令所在路径及帮助文档所在位置
选项:-b:只查找可执行文件

-m:只查找帮助文件

二.Linux常用搜索命令_第3张图片

2.搜索命令的命令which
  • which文件名
#搜索命令所在路径及别名
  • path环境变量
  • PATH环境变量:定义的是系统搜索命令的路径
 二.Linux常用搜索命令_第4张图片


whereis和where的搜索是依赖PATH环境变量
2.3文件搜索命令find
  • find[搜索范围][搜索条件]
#搜索文件
  • find/-name install.log
#避免大范围搜素,会非常耗费系统资源

#find是在系统中搜索符合条件的文件名。如果需要匹配,使用通配符匹配通配符是完全匹配

通配符:

*匹配任意一个内容
?匹配任意一个字符
[]匹配任意一个中括号内的字符
 二.Linux常用搜索命令_第5张图片
  • find /root -iname install.log
#不区分大小写
  • find /root -user root
#按照所有者搜索
  • find /root -nouser
#查找没有所有者的文件(比较有用,如果搜索到文件则除了两种情况(1.内核产生proc和sys目录内2.外来文件)外基本上是垃圾文件,应该删除)
  • find /var/log/ -mtime +10

#查找十天前修改的文件

选项:

-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
2.4字符串搜索命令grep及与find的区别
1.grep命令:
  • grep[选项]字符串文件名
#在文件当中匹配符合条件的字符串
选项:-i忽略大小写
-v排除指定字符串
2.find命令与grep命令的区别
  • find命令:在系统中搜索符合条件的文件名,如果需要匹配使用通配符匹配,通配符是完全匹配。
  • grep命令:在文件当中搜索符合条件的字符串,如果需要匹配则使用正则表达式匹配,正则表达式是包含匹配这是初学笔记,希望分享一下,如若有误,希望亲们指点,谢谢。

你可能感兴趣的:(linux,搜索,文件系统)