admin管理员组文章数量:1613769
区别:
- find基本上相当于 linux下的 “搜索” , 相当于windows下的搜索功能! 它是用来搜索文件的。
- grep是用来搜索文本的, 用来在standard input或文件内部的内容中, 来搜索文字 内容的!
- find 是完全匹配(通配符),而grep是包含匹配(正则表达式)
find命令:
基本格式:find path expression
选项 | 说明 |
---|---|
-name<文件名> | 匹配文件名称 |
-user<用户名> | 匹配文件的所有者 |
-perm<权限> | 匹配文件的权限 |
-type<文件类型> | 匹配文件类型查找 |
-size n[ckmg] | 匹配文件的大小(+50k表示超过50k的文件) |
-exec { } \ | 后面可直接对搜索到的结果进一步处理的命令 |
! | 所有 |
-and(-a) | 并且 |
-or(-o) | 或者 |
例题
按文件名称
-
在/etc目录下查找文件 aaa.conf
find /etc -name aaa.conf
-
查找/etc目录下以名字中包含“conf”的文件
find /etc -name "*conf*" -type f
-
在当前目录下查找文件名含有字符串‘conf’的文件
find . -name '*conf*'
按文件特征查找
- 查找在系统中最后10分钟访问的文件 (access time)
find / -amin -10
- 查找在系统中最后48小时访问的文件
find / -atime -2
- 查找在系统中为空的文件或者文件夹
find / -empty
- 查找在系统中属于 group为cat的文件
find / -group cat
- 查找在系统中最后5分钟里修改过的文件 (modify time)
find / -mmin -5
- 查找在系统中最后24小时里修改过的普通文件,并删除
find / -mtime -1 -exec rm { } \
- 查找在系统中属于fred这个用户的文件
find / -user fred
- 查找出大于10000000字节的文件 (c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size +10000c
- 查找出大于1000KB,并且小于10MB的文件
find / -size +1000k -a -size -10M
混合查找文件
- 在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
find /tmp -size +10000c -and -mtime +2
- 在/目录下查找用户是fred或者george的文件文件
find / -user fred -or -user george
- 在/tmp目录中查找所有不属于panda用户的文件
find /tmp ! -user panda
grep命令:
选项 | 说明 |
---|---|
-c | 只输出匹配行的计数。 |
-i | 不区分大小写 |
-h | 查询多文件时不显示文件名。 |
-l | 查询多文件时只输出包含匹配字符的文件名。 |
-n | 显示匹配行及行号。 |
-s | 不显示不存在或无匹配文本的错误信息。 |
-v | 反转查找,显示不包含匹配文本的所有行。 |
例题
- 将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号
grep -n root /etc/passwd
- 显示所有以d开头的文件中包含 test的行
grep 'test' d*
- 显示在aa,bb,cc文件中包含test的行
grep ‘test’ aa bb cc
- 显示所有包含每行字符串至少有5个连续小写字符的字符串的行
grep ‘[a-z]\{5\}’ aa
- 显示/usr/src目录下的文件(不含子目录)包含magic的行
grep magic /usr/src
- 显示/usr/src目录下的文件(包含子目录)包含magic的行
grep -r magic /usr/src
- 只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’)
grep -w pattern files
版权声明:本文标题:Linux命令之 find与grep的区别(仅需一篇,彻底理清) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728659136a1168497.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论