本文章主要是针对慕课网Linux学习课程进行总结:https://www.imooc.com/video/3237
文件搜索常用命令:
一.locate命令
优点:查询速度快
缺点:只能按照文件名搜索
locate搜索并不是直接在系统中检索文件,而是在locate的数据库中检索,不需要遍历 整个操作系统,系统非常快
但是有个问题,locate的数据库不是实时更新的,大概是一天一更新。
因此需要执行updatedb命令强制执行更新数据库命令,否则是无法找到新增的文件的。
locate搜索是按照updatedb.conf配置文件来进行搜索的
二.命令搜索命令whereis和which
whereis只能搜索系统命令
which和whereis基本一致,但是which搜索还会显示系统命令的别名(存在的话)
cd命令不能通过这两个命令检索到,因为它是Linux的内置命令(shell自带的)
三.find命令
优点:功能强大
缺点:检索慢
find命令是直接在系统中检索,locate是查询locate数据库
find命令是进行完全匹配,需要进行模糊查找的话,必须使用通配符
样例:find /root -name "a.log*"
在Linux中的文件都需要有所有者,没有所有者的就是垃圾文件,但有两个特殊情况:1.在Linux内核中的文件有可能是没有所有者的,也就是在/sys/和/proc/两个目录下的文件是可能没有所有者的。2.外来文件(从windows中拷贝来的数据,可能是没有所有者的,因为windows没有所有者的概念)
根据时间检索
根据文件大小检索
检索大小默认单位是数据块(根据硬盘扇区来划分的,默认是512字节),因此最好带上单位,按照kb来检索时,k小写,按照M来检索是,M大写,否则会报错
按照大小范围来检索
将查询出来的结果交给第二条命令来处理,可以实现对查找的结果进行查看详情和大小的操作,通过-exec ls -l {} \;
按照i节点来检索
四.grep搜索字符串命令
查找对应文件中的对应字符串