首页 > 代码库 > linux下find命令使用举例、

linux下find命令使用举例、

为什么要使用find?

在linux一切皆文件的背景下,find能精确地匹配到你所需要查找到的文件,在linux系统中,也有同类的命令能查找文件的所在位置,比如:locate,但是locate有很多的局限性,它只支持模糊的查找,相对于find实在逊色得太多。先说一下locate的使用方法:

locate -l  filename 查找filename所在文件的所有行

locate -n filename  查找filename所在的前n行

 

下面详细说一下find:

1.根据文件来查找:find / -name passwd -type f(普通文件) b(块设备) d(目录) c(字符设备文件) l(符号连接文件)

2.根据权限来查找:find . +perm 700 // find . -perm 700 注意:“+”的权限是属主属组被此全部包含的,777的权限,而“-”包含此mode,比如770

3.根据修改时间来查找:find /  -atime +1

4.根据用户来查找:find / -user a03

5.根据组来查找:find / -group a03

6.根据文件大小来查找:find / -size 1M

7.交叉查找:

1)find . -name "*.log" -a -atime +2

2)find . -not -user  root -a atime 1

3)find . \(-atime 1 -o -not -user root\) -a -name "*.log"

4)find /etc/init.d/ -perm 111 -a -perm 222

5)find /etc/ -size 1M -a -type f

6)find /usr/ -not -user root -a -not -user hadoop或者find /usr/  -not \(-user root -o -user hadoop\)

7)find / \(-nouser -o -nogroup\) -a atime -30

想起的再补上。。。