Linux下提供了2个强大的文件/文本查找工具 find,grep,以下作简要介绍;
以下一些常用的实例:
1)使用正则表达式查找文件
2)根据文件类型查找
4)根据文件时间戳、文件大小查找
find 文件查找工具
find 工具是一种强大的文件查找工具,可以使用正则表达式进行文件的查找,一般的指令格式如下:
1
find <role> <dir> <pattern> dir参数:查找的目录
role参数:功能参数
pattern参数:查找的正则表达式
以下一些常用的实例:
1)使用正则表达式查找文件
1
#根据文件名查找文件
2
find ./ -name "php" #查找当前目录下名称为"php"的文件
3
find ./ -name "*php*" #查找名称中含有"php"的文件
4
find ./ -name "*.php" #查找以".php"结尾的文件
5
6
find ./ -iname "php" #忽略大小写查找
7
find ./ ! -name "*php*" #否定查找,查找名称中不含有"php"的文件
2)根据文件类型查找
1
find ./ -type 类型参数 ※ 类型参数列表:
f:普通文件
d:目录
l:link文件
3)限制文件查找深度
1
find ./ -maxdepth 2 -type f #查找深度最大为2的文件
2
find ./ -mindepth 2 -type f ##查找深度最小为2的文件
3
4
#限制查找范围在当下目录的这一层
5
find ./ -maxdepth 1 -name "php"
4)根据文件时间戳、文件大小查找
1
#根据时间戳查找2
find ./ -type f -atime -7 #查找 7天内 被访问的文件3
find ./ -type f -atime 7 #查找 7天前那一天 被访问的文件4
find ./ -type f -atime +7 #查找 超过7天之内 被访问的文件5
6
find ./ -type f -amin -30 #30分钟之内被访问的文件7
8
#根据大小查找9
find ./ -type f -size -100k #查找 <100k 的文件10
find ./ -type f -size 10M #查找 =10M 的文件11
find ./ -type f -size +1G #查找 >1G 的文件grep 文本搜索工具
grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,通常grep可以用来其他指令返回的结果进行过滤输出;
1)搜索文件中的关键词
1
grep "text" file1 #搜索文件file1中的"text"关键词
2
grep -E "text*" file1 #使用正则表达式,搜索file1中以"text"开头的文本
3
grep -v "text*" file1 #否定表达式,搜索file1中不以"text"开头的文本
4
grep -o "text*" file1 #只显示file1中匹配正则表达式的部分
5
grep "text" file1 --color=auto #搜索结果高亮显示
2)与其他指令的结合
1
cat file1 | grep "text" --color=auto #将file1中的内容全部输出,同时将关键词"text"高亮显示
2
3
yun search java | grep "*openjdk-1.8*" #在yum仓库中搜索名称中包含"openjdk-1.8"的rpm包
本文介绍了Linux下find和grep两个强大的文件/文本查找工具的基本用法及实用案例。find命令用于查找文件,支持多种条件如文件名、类型、时间戳等;grep命令则用于在文本中搜索指定的模式。
429

被折叠的 条评论
为什么被折叠?



