文件搜索命令locate
- locate 文件名
在后台数据库中按文件名搜索,搜索速度更快 - /var/lib/mlocate
/#locate命令所搜索的后台数据库 - updatedb
更新数据库
命令搜索命令whereis与which
搜索命令的命令whereis
whereis 命令名
/#搜索命令所在路径及帮助文档所在位置
选项:
/-b: 只查找可执行文件
/-m:值查找帮助文件
搜索命令的命令which
which 文件名
PATH环境变量
PATH环境变量:定义的是系统搜索命令的路径
[root@locaohost ~]# echo $PATH
/#搜索命令所在路径及别名
文件搜索命令find
find命令
- find [搜索范围] [搜索条件]
/#搜索文件 - find / /-name install.log
/#避免大范围搜索,会非常耗费系统资源
/#find是在系统当中搜索符合条件的文件名。如果需要匹配,
使用通配符匹配,通配符是完全匹配Linux中的通配符
-
匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符 - find /root /-iname install.log 不区分大小写
- find /root -user root 按照所有者搜索
- find /root /-nouser 查找没有所有者的文件
- find /var/log/ -mtime +10
查找10天前修改的文件
不区分大小写
-10 10天内修改文件
10 10天当天内修改文件
+10 10天内前修改文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容 - find . -size 25k(M)
查找文件大小事25KB的文件
-25k 小于25KB的文件
25k 等于25kb的文件
+25k 大于25kb的文件 - find . -inum 262422 查找i接电视262422的文件
- find /etc -size +20k -a -size -50k
查找/etc/目录下,大于200kb并且小于50kb的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可 - find /etc -size + 20k -a -size -50k -exec ls -lh {} \; 查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息 -exec/-ok 命令 {} \; 对搜索结果执行操作
字符串搜索命令grep
- grep [选项] 字符串(带"") 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
find命令与grep命令得到区别
find命令: 在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令: 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配