菜单导航

三分钟掌握Linux命令之findamp;grepamp;ln

作者: 精装之家 来源: 精装之家 发布时间: 2019年10月10日 09:09:16

find ---文件搜索

格式:find [搜索范围][匹配条件]

软件测试:三分钟掌握Linux命令之find&grep&ln(必读系列二)

find命令

1.根据name来搜索(经常用)

a.精确搜索

[root@localhost test]# find /etc -name services

b.模糊搜索init开头的文件和目录

[root@localhost test]# find /etc -name init*

c.模糊搜索init结尾的文件和目录

[root@localhost test]# find /etc -name *init

d.模糊搜索包含init的文件和目录

[root@localhost test]# find /etc -name *init*

软件测试:三分钟掌握Linux命令之find&grep&ln(必读系列二)

e.模糊搜索以init开头的后面只有三个字符串的文件或目录

* 代表一组字符串

? 代表一个字符

[root@localhost test]# find /etc -name init???

linux对大小很敏感,而且空格也敏感

[root@localhost test]# find /etc -name INIT???

f.根据name搜索时,不区分大小写用选项 -iname

[root@localhost test]# find /etc -iname INIT???

/etc/inittab

[root@localhost test]# find /etc -name INIT???

没有搜索出任何数据

软件测试:三分钟掌握Linux命令之find&grep&ln(必读系列二)

find命令不区分大小写

2.根据文件大小搜索

a.大于4096的文件 +4096

[root@localhost test]# find /etc -size +4096

b.小于4096的文件 -4096

[root@localhost test]# find /etc -size -4096

c.等于4096的文件

[root@localhost test]# find /etc -size 4096

d.大于4096同时小于641020的文件 -a

[root@localhost test]# find /etc -size +4096 -a -size -641020

e.大于4096或者小于641020的文件

[root@localhost test]# find /etc -size +4096 -o -size -641020

3.根据文件所有者去搜索

[root@localhost test]# find /home/test -user test

[root@localhost test]# find -user test

如果不写搜索范围,默认搜索从当前目录开始,搜索下面匹配的文件和目录

4.根据文件属性搜索

a.搜索5分钟之内内容被修改的文件

[root@localhost test]# find . -mmin -5

文件内容被修改的同时,文件属性也会被修改

b.搜索3分钟之内文件属性被修改的文件

[root@localhost test]# find . -cmin -3

amin cmin mmin后面接分钟

atime ctime mtime后面接小时

5.根据文件类型来搜索

- 二进制文件f d 目录 l 软链接

1.搜索目录---文件类型为d

[root@localhost test]# find . -type d

2.搜索当前目录下文件类型为文件 f

[root@localhost test]# find . -type - ---错误

find: -type 的参数未知: -

[root@localhost test]# find . -type f ---正确

软件测试:三分钟掌握Linux命令之find&grep&ln(必读系列二)

3.搜索当前目录下的文件类型为软链接 l

[root@localhost test]# find . -type l

4.在根目录下搜索文件名称为services的文件

[root@localhost test]# find / -name services -type f

grep --搜索文件的内容

1.搜索test.log这个文件中包含qwer字符串的行

[root@localhost test]# grep qwer ./test.log

2.不区分大小写进行搜索 选项 -i

[root@localhost test]# grep -i test test.log

3.搜索不包含123的文件内容

[root@localhost test]# grep -v 123 test.log

4.搜索不包含test的文件内容,不区分大小写

[root@localhost test]# grep -iv test test.log

5.搜索不是以1开头的文件内容

[root@localhost test]# grep -v ^1 test.log