linux

文件搜索命令

2019-05-16  本文已影响0人  文刀雨

文件搜索命令locate

locate 优点 速度快
缺点 只能按照文件名查找,只能查找数据库中有的
功能弱

使用方式 locate 文件名
原理
在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate locate命令所搜索的后台数据库

数据库默认每天更新一次
使用updatedb命令可以手动更新数据库

搜索规则
/etc/updatedb.conf 配置文件

名称 规则
PRUNE_BIND_MOUNTS="yes" 开启搜索限制
PRUNEFS= 搜索时,不搜索的文件系统
PRUNENAMES= 搜索时,不搜索的文件类型
PRUNEPATHS= 搜索时,不搜索的路径

命令搜索命令whereis 与which

whereis 命令名
搜索命令所在路径及帮助文档所在位置
选项:
-b :只查找可执行文件
-m:只查找帮助文件
🌰 whereis ls

搜索命令的命令which

which 文件名
搜索命令所在路径及别名
🌰 which pwd

PATH环境变量

定义的是系统搜索命令的路径

find 命令

find [搜索范围][搜索条件]

指令 搜索的条件
-name 名称
-iname 名称不区分大小写
-user 所有者
-nouser 查找没有所有者的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
-mtime+10 10天前修改的文件 默认单位天
-mtime10 10天当天修改的文件
-mtime-10 10天内修改的文件 查找日志使用
-size 文件大小
-size -25k 小于25kb的文件
-size 25k 等于25kb的文件 k小写
-size +25M 大于25MB的文件 M大写
-inum 123 查找i节点是123 的文件
-size +20k -a -size -50k 大于20k 并且小于50k -a and 逻辑与-o or 逻辑或
-exec/-搜索结果可以执行的命令{}\; 对搜索结果执行操作

🌰 find /-name install.log
💣避免大范围搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

通配符 含义
* 匹配任意内容
匹配任意一个字符
[] 匹配任意一个中括号内的字符

🌰 find /root -name "ab[cd]"
找到 abc abd

grep命令

grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串

find命令:在系统中搜索符合条件的文件名,如果许可匹配,使用通配符,通配符是完全匹配
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配

上一篇下一篇

猜你喜欢

热点阅读