语法: find 【path...】 expression
1、按文件名称查找
例如查找/home 路径下文件名称中带有abc的文件
[root@bogon home]# find /home -name *abc*
/home/1abc2
[root@bogon home]#
2、按时间查找
例如查找5天前创建或修改过的文件
[root@bogon ~]# find /home -mtime +5
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
查找5天内的产生或修改过的文件
[root@bogon ~]# find /home -mtime -5
/home
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/test
/home/1abc2
如果是查找5天前并且名字中带abc的文件再删除可以执行为:find /home -mtime +5 -name *abc* -exec rm {} \;(这里用到了exec命令,可能是表示为将find的结果输入给exec然后执行后面的命令,个人感觉跟管道“|”类似)
3、按文件类型查找
例如查找类型为 d(文件夹)的文件夹
[root@bogon ~]# find /home -type d
/home
/home/ljk
/home/ljk/shell
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找类型为l(引用类型的文件)
[root@bogon ljk]# find ./ -type l -exec ls -l {} \;
lrwxrwxrwx 1 root root 12 Jun 17 20:24 ./lnhello -> hellworld.sh
4、按大小查找
find ./ -size +1000c 查找当前目录大小大于1000字节的文件
root@bogon ljk]# find ./ -size +10c
./
./.bash_history
./shell
./.bashrc
./lnhello
find ./ -size -1000c 查找当前目录小于1000字节的文件
[root@bogon ljk]# find ./ -size -10c
./hellworld.sh
上面的命令中将+(-)去掉则表示大小等于xxx大小的文件
5、按组或用户查找
例如查找home下属于ljk用户的文件
[root@bogon ljk]# find /home -user ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找home路径下组属于ljk组的文件
[root@bogon ljk]# find /home -group ljk
/home/ljk
/home/ljk/.bash_history
/home/ljk/hellworld.sh
/home/ljk/shell
/home/ljk/.bashrc
/home/ljk/.bash_profile
/home/ljk/.bash_logout
/home/ljk/.mozilla
/home/ljk/.mozilla/extensions
/home/ljk/.mozilla/plugins
/home/ljk/test
查找没有用户的文件为:find /home -nouser
查找没有组的文件为: find /home -nogroup
6、按路径查找
查找当前目录下除了shell目录中所有的文件
[root@bogon ljk]# find ./ -path "./shell" -prune -o -type f
./.bash_history
./hellworld.sh
./shell
./.bashrc
./.bash_profile
./.bash_logout
find的功能很强大,如上面所有的命令都可以组合来查询,find还可以按其它的条件来查询,
tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls]
-context CONTEXT
在linux环境下敲find --help ,或man find 来查看find的用法,用法和上面所写的类似,这里不一一赘述。