文件搜索命令
2019-05-16 本文已影响0人
文刀雨
- 文件搜索命令locate
- 命令搜索命令whereis 与which
- 文件搜索命令find
- 字符串搜索命令grep
- find命令与grep命令的区别
文件搜索命令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命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配