Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
1、查看当前文件夹及子文件夹里有没有文件名为“abc”的文件:
# find . -name abc (“.”表示当前目录;-name表示根据名称进行查找)
2、查看当前文件夹及子文件夹里有没有“xyz”目录
# find . -type d -name "xyz" (d-表示文件夹类型;f-表示普通文件类型;l-表示连接文件)
3、查找当前文件夹及其子文件夹里“roc”用户自己的文件有哪些
# find . -user roc (-user-用于设定所属用户的名称,可替换为-group,即所属用户组的名称)
4、查找当前文件夹及其子文件夹里权限设定为777的所有文件
# find . -perm 777 (-perm-用于设定权限)
5、查找当前文件夹及子文件夹里同时含有b字符和3字符的文件:正则表达式技术
# find . -regex '.*.*3' (-regex:表示使用正则表达式进行匹配。)
6、查找当前目录下在5分钟内被访问过的文件
# find . -amin -5 (访问过用amin,修改过用mmin,稳健状态改变过用cmin(分钟);精确到天的用atime、mmtime、ctime)
7、查找当前目录及子目录下文件大小大于10M的所有文件
# find . -size +10M (-size:表示文件大小,+(/-)表示大(/小于)某个数。c-单字节,可换成k、M、G)
8、如果不想深入到子目录中,只是查找当前一层目录,则:
# find . -maxdepth 1 -name "*.c"