locate搜索命令
-
命令格式:locate [文件名]
在后台数据库中按文件名搜索,并非直接在系统中搜索。因此搜索速度更快,但对新建文件会有一天的延迟。 - /var/lib/mlocate
locate命令所搜索的后台数据库 - 命令 updatedb 更新数据库
- locate按此配置文件进行搜索(筛选规则)
/etc/updatedb.conf (配置文件)- PRUNE_BIND_MOUNTS = “yes”
开启搜索限制 - PRUNEFS =
不搜索的文件系统 - PRUNENAMES =
不搜索的文件类型 - PRUNEPATHS =
不搜索的路径
- PRUNE_BIND_MOUNTS = “yes”
文件搜索命令 find
- find [搜索范围] [搜索条件]
- find / -name install.log
- 避免大范围搜索,耗费系统资源
- find在系统中搜索完全符合条件的文件名,如用范围匹配,需要使用通配符
Linux中的通配符
通配符 | 释义 |
---|---|
* | 匹配任意内容 |
? | 匹配任意一个字符 |
[ ] | 匹配任意一个中括号内的字符 |
例子:
- find /root -name “ab[cd]”
结果:/root/abc
/root/abd- find /root -name “*[cd]”
以c和d结尾的即可
find其他功能
不区分大小写
find /root -iname install.log按照所有者搜索
find /root -user root查找没有所有者的文件
find /root -nouser
- 没有所有者的文件就是垃圾文件,可通过-nouser来查找并删除
- 内核文件和外来文件没有所有者,/proc和/sys中文件没有所有者是正常的
- 通过日期查文件
find /var/log/ -mtime +10 (var日志文件夹)- -10:10天内修改的文件
- 10:第10天修改的文件
- +10:10天前修改的文件
- atime:文件访问时间
- ctime:改变文件属性时间
- mtime:修改文件内容时间
查找五分钟内修改的文件
find / -mmin -5-
通过文件大小查找
find . -size 25k- -25k:小于25的文件
- 25k:等于25k的文件
- +25k:大于25k的文件
通过节点
find . -inum 262422
查找节点是262422的文件-
逻辑与、或查找
find /etc -size +20k -a -size -50k
查找 /etc 目录下大于20k并小于50k的文件
- -a:逻辑与,两个条件都满足
- -o:逻辑或,两个条件满足一个即可
-
二次条件查找
-exec ….. {} \;find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找文件大于20k并小于50k的文件并显示详细信息
搜索命令的命令 whereis 和 which
- whereis [命令名]
搜索命令所在路径及帮助文档所在位置- -b:只查可执行文件
- -m:只查帮助文档
where [文件名]
搜索命令所在路径及别名PATH环境
定义的是系统搜索命令的路径
[root@localhost ~]# echo $PATH
使我们每次输入命令不同打出绝对路径,避免命令过长