Linux find命令

find:文件搜索命令,最强大

语法:find 搜索范围 搜索条件

1)按照文件名进行搜索

eg:find / -name install.log

范围:/

条件:-name

文件名:install.log

注:

a. 避免大范围搜索,速度非常慢,会非常耗费系统资源

b. find是在系统当中搜索完全匹配的文件名。如果想要模糊搜索,需要用到通配符匹配

linux中通配符:

*:匹配任意内容

eg:find /root -name “install.log*”

===============》找到/root目录下以install.log开头的所有文件

?:匹配任意一个字符

eg:find /root -name “ab?”

===============》找到/root目录下以ab开头的,后面只能匹配一个字符

[]:匹配任意一个中括号内的字符

eg:find /root -name “ab[cd]”

===============》找到/root目录下abc或者abd文件

2)按照没有所有者来搜索文件

eg:find /root nouser

范围:/root

条件:nouser

注:它主要是用来搜索没有所有者的文件,在linux中,一般没有所有者的文件都是垃圾文件,我们可以清理它;

但是有两种情况,它们没有所有者,而且还不能删!!!

第一种:由内核产生的文件有可能没有

特别注意:/proc和/sys目录下,如果他们下面有没有所有者的文件,那是正常的,请不要删

第二种:外来文件(由移动硬盘插入到linux里的文件 )

3)按照时间来查找文件

eg:find /var/log -mtime +10

范围:/var/log

类型:mtime

时间:+10

意义:查找10天以前被修改过内容的文件

用法:

-10:10天以内修改过的文件

10:10天当天修改过的文件

+10:10天以前修改过的文件

atime:文件访问时间

ctime:改变文件的属性

mtime:修改文件的内容

4)按照文件大小进行查找

eg:find /root -size 25k

范围:/root

类型:size

大小:25k

意义:查找大小是25kb的文件

用法:

-25:小于25kb的文件

25:等于25kb的文件

+25:大于25kb的文件

5)按照i节点进行查找

eg:find /root -inum 262421

范围:/root

类型:inum

节点:262421

意义:查找节点是262421的文件

6)按照范围大小进行查找

eg:find /etc -size +20k -a -size -50k

范围:/etc

类型:size

范围区间:20k<文件<50k

意义:查找大于20k并且小于50k的文件

用法:

a(and):两个条件必须都满足

o(or):两个条件满足一个即可