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包