一、find的命令格式:
find 目录 参数 [ -exec 命令 命令选项 {} \; ]
二、实例详解
1、find ./ -user huangxifeng -exec ls -l {} \;
查找当前目录下所有者是huangxifeng的文件,查找到的结果用ls -l显示。
./代表当前目录 -user 代表按文件所有者查找,-exec是对结果用命令来处理,这里用ls -l .其中{} 代表查找到的结果。
2、find ./ -group hxf -exec ls -l {} \;
查找当前目录下,文件所有组是hxf的文件。
3、find /etc -name huang -exec ls -ld {} \;
查找/etc目录下,文件名是huang的文件(区分大小写),并只显示目录的属性长列表。
find /etc/ -iname huang -exec ls -ld {} \;
查找/etc目录下,文件名是huang的文件(不区分大小写),并只显示目录的属性长列表。
-name是按文件名查找,但区分大小写 -iname按文件名查找,但不区分大小写。
4、find ./ -perm 644 -exec ls -ld {} \;
查找当然目录下,权限为644的所有文件,并且只显示目录的长列表。
-perm是按权限查找。
find ./ -perm +004 -exec ls -ld {} \;
查找当前目录下有读权限的所有文件,并且只显示其目录的长列表。+004是模糊查找,只查找有4(读)权限的文件。
5、find ./ -type d -exec ls -ld {} \;
查找当前目录下,文件类型为目录的文件,并只显示文件的目录长列表属性。
-type 为按文件类型查找。d为目录,f为普通文件,c为设备文件,b为块设备文件,p为管道文件,s为套接字文件,l为链接文件。
又如
find ./ -type c -exec ls -lh {} \;
6、find / -mtime -10 -exec ls -lh {} \;
查找根下修改时间为10天以内的文件。
-mtime是按修改时间来查找。
find / -mtime +10 -exec ls -lh {} \;
查找系统中修改时间大于10天的文件有哪些,并以K,M,G的形式显示。
7、find / -atime -10 -exec ls -lh {} \;
查找系统中被访问的时间小于10天的文件。
-atime是按访问时间来查找。
find / -atime +10 -exec ls -lh {} \;
查找系统中被访问的时间大于10天的文件。
8、find ./ mmin -5 -exec ls -ld {} \;
查找当前目录下五分钟内被修改过的文件,假如你在五分钟内发现黑客入侵了,这个很有用。
find ./ mmin +10 -exec ls -ld {} \;
查找当前目录下被修改的文件在十分钟以上的文件
find ./ -amin -5 -exec ls -lh {} \;
find ./ -cmin -5 -exec ls -lh {} \;
查找当前目录下五分钟以内被访问过的文件和最后修改过的文件。
9、find ./ -size 2k -exec ls -lh {} \;
查找当前目录下,文件大小为2K的文件。
find ./ -size +10k -exec ls -lh {} \;
查找当前目录下文件大小大于10K的文件。
find ./ -size -10k -exec ls -lh {} \;
查找当前目录下文件大小小于10K的文件。
10、find ./ -links 3 -exec ls -kh {} \;
查找当前目录下,链接数为3的文件。同样有+3,-3涵义同上。
11、find ./ -inum 100 -exec ls -ld {} \;
查找当前目录下inodes数量的值为100的文件,同样也有+100,-100涵义同上。
(完)