为什么要使用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
想起的再补上。。。
linux下find命令使用举例、