Linux-文件搜索命令

纵然是瞬间 提交于 2019-12-20 20:31:06

1.文件搜索命令locate

locate命令格式

locate 文件名

在后台数据库中按文件名搜索,搜索速度更快

/var/lib/mlocate(根据Linux版本不同,数据库名不一样)

locate命令所搜索的后台数据库,每天更新一次数据库updatedb,才搜索的到(刚新键的文件时搜搜不到的,需要updatedb才能实时搜索得到)

updatedb

更新数据库

Linux没有locate命令则需要安装 yum install mlocate,updatedb后才能用

/etc/updatedb.conf:查看搜索筛选规则

 

2.命令搜索命令whereis and which

搜素系统命令

-b:只查询可执行文件

-w:只查看帮助文档所在位置

which:里面还含有别名,但看不到相应的帮助文档

PATH环境变量:定义的是系统搜索命令的路径:echo $PATH

 

3.文件搜索命令find

搜索文件:find 【搜索范围】 【搜索条件】

避免大范围搜索,会非常耗费系统资源

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

find / -name install.log

find /root -iname(不区分大小写的搜索) install.log

find /root -user|-nouser root:按照所有者搜索

find /var/log -mtime +10:查找10天修改的文件

-10 10天内修改文件

10 10天当天修改的文件

+10 10天前修改的文件

atime 文件访问时间

ctime 改变文件属性

mtime 修改文件内容

find . -size 25k|-25k|+25k:查找当前目录下等于|小于|大于|25k大小的文件

find . inum 26624 查找i节点为26624文件

find . -size +20k -a -size -50k -exec(处理前面搜索的结果命令) ls -lh {}\;

-a: and 逻辑与

-o: or   逻辑或

{} \;标准格式

 

4.字符串搜索命令grep 、find&&grep区别

grep [选项] 字符串 文件名

-i:忽略大小写

-v:排除指定字符串

区别:搜索结果的包含关系

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

grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!