文章目录
-
- 一、最强大的搜索命令:find
-
- 1)根据 文件或目录名称 搜索
- 2)根据 文件大小 搜索
- 3)根据 所有者和所属组 搜索
- 4)根据 时间属性 搜索
- 5)根据 文件类型或i节点 搜索
- 6)组合条件 搜索
- 二、在文件中搜寻字符串匹配的行并输出:grep
一、最强大的搜索命令:find
find命令是Linux系统中用来进行文件搜索用的最多的命令,功能特别强大。但是能搜索到的文件特别多,所以尽量少用find命令,就算要搜索也应该尽量的缩小范围,也不要在服务器使用高峰期进行文件搜索,因为搜索也是很占系统资源的。
- 英文原意:
- 命令所在路径:/bin/find
- 执行权限:所有用户
- 功能描述:进行各种花式文件搜索
- 语法:
- find 搜索范围 匹配条件
注意:Linux搜索和windows是有明显区别的,Linux严格区分文件大小写。
1)根据 文件或目录名称 搜索
语法:
- find 搜索目录 -name或者-iname 搜索字符
- -name和-iname的区别一个区分大小写,一个不区分大小写
find . -name "*.txt" (模糊搜索)
插播两个通配符:
2)根据 文件大小 搜索
语法:
- 在根目录下查找大于 1024 的文件
find / -size +1024c
- 这里 +n 表示大于,-n 表示小于,n 表示等于
c 表示字节,k表示千字节,M表示兆字节
3)根据 所有者和所属组 搜索
语法:
- 在目录下查询所属组为 gxl 的文件
find ./ -group gxl
- 在目录下查询所有者为 gxl 的文件
find ./ -user gxl
4)根据 时间属性 搜索
语法:
- find 路径 选项 时间
- -amin 按文件访问时间来查找文件
- -cmin 按文件创建时间来查找文件
- -mmin 按文件更改时间来查找文件
- 时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟
例子:
- 在目录下查找60分钟内被修改过属性的文件和目录
find ./ -mmin -60
5)根据 文件类型或i节点 搜索
语法:
- -type 根据文件类型查找:f 表示文件,d 表示目录,l 表示软链接
例子:
- 查找 ./ 目录下文件类型是目录的 find ./ -type d l f
6)组合条件 搜索
这里有两个参数:
- -a 表示两个条件同时满足(and)
- -o 表示两个条件满足任意一个即可(or)
例子:
- 查找/etc目录下大于80MB同时小于100MB的文件
find ./ -size +1024c -a -type d -mmin +100
不加也可以!
二、在文件中搜寻字符串匹配的行并输出:grep
- 英文原意:
- 命令所在路径:/bin/grep
- 执行权限:所有用户
- 功能描述:在文件中搜寻字符串匹配的行并输出
- 语法:
- grep -iv 指定字符串 文件
- -i 不区分大小写
- -v 排除指定字符串
例子:
- 查找文件中包含main字符串的行,并输出
grep -n main hello