![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/4fcea9eceb453-1024x576.jpg)
一、find查找命令--find
1.1、简单名称匹配 -name/-iname
【语法】find[搜索范围][匹配条件] 精准匹配
【例子】在etc目录下精准找到文件名为init文件
find /etc -name init --->etc下搜索
【例子】在全盘下搜索init文件
find / -name init --->全盘下搜索
【例子】在etc下模糊搜索关键字为init的文件(前后模糊匹配)
find /etc -name *init* 模糊匹配
【例子】 在etc下模糊搜索关键字为init的文件 (后模糊匹配)
find /etc -name init* 后面模糊匹配
【例子】 在etc下模糊搜索关键字为init的文件 (后模糊匹配3位数)
find /etc -name init???精确模糊匹配末尾3位数
【注意】-name 是严格匹配大小写的,如果需要不区分大小写,者用-iname
find /etc -iname xxxx 不区分大小写
1.2、通过数据块大小进行查找 -size
【概念】数据块(SIZE)--linux资源计量单位
1个数据块=512字节,也就是2个数据块=1K
【例子】100M文件=102400K=204800数据块(SIZE)
所以,需要查找大于100M文件的命令为:-size +204800
find/ -size +204800
符号使用:加号“+” 大于范围| 减号“-”小于范围 | -a 两者都满足| -o 满足其中1个
-a (and)两个条件都满足
find /etc -size +163840 -a -size -204800
-o (or)两个条件满足其中1个
find /etc -size -10000 -o -size + 20000
1.3、通过用户组/用户查找-user/-group
【案例】查找jeff这个用户在home下的所有文件
find /home -user jeff
【案例】查找jeff这个用户组在home下的所有文件
find /home -group jeff
1.4、通过i节点查找文件-inum
find -inum 31531
二、快速索引查找-locate
【概念】locate DB会定期维护一张文件索引表,提供极低资源索引的查找,这种查找类似缓存查找,优势是查找损耗的资源极小,但有一定周期性,并非时时刷新locate DB。
可以通告用手动刷新方式来更新资料库,【命令】 updatedb
【注意!!!】
1、tmp临时文件夹不属于更新资料库范围
2、root权限好查
3、-I 不区分大小写 locate -I hxd
【例子】
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-30.png)
三、精准查找,能看出文件“小名”的--witch
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-31.png)
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-32.png)
四、快速查找帮助命令-whereis
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-33.png)
五、文件内容搜索命令 -grep
和之前的不同,之前一系列操作都是搜索文件所在位置命令,而grep是搜索文件内容的命令。
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-34.png)
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-35.png)
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-36.png)
![Linux初学笔记(五)--[命令]文件搜索](https://www.datacenterfarm.com/wp-content/uploads/2020/03/未命名图片-37.png)
【注意】往往一个文件中很多#的注释文件,他的特点是在行头首字母,所以如果要排除这类#的方法是:^# 来代表首字
【案例】获取root/install.log程序中的正文部分内容
grep -v ^# /root/install.log
