find是linux命令:它将档案系统内符合expression的档案列出来。你可以要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。
一、常见命令参数
测试环境搭建:便于测试后面的命令
新建file1~file5
监控/mnt/下的文件
改用户和组
修改文件信息完成,结果显示如下:
find /etc/ -name passwd ##查找文件名称符合passwd的文件
find /mnt/ -user student ##查找所有人为student的文件
find /mnt/ -group tom ##查找所有组为tom的文件
查找所有人为student的文件并且所有组为tom的文件
-not 表示不是
/mnt下不是student用户
-maxdepth 设置最大目录层级
-mindepth 设置最小目录层级
搭建新的测试环境
清空/mnt下
find /mnt / -size 20k 查找文件大小为20k的文件
find /mnt / -size +20k 查找文件大小大于为20k的文件
find /mnt / -size -20k 查找文件大小小于为20k的文件
-type d 查找目录
-type f 查找文件
-cmin 10 10分钟这一刻被修改的文件
-cmin +10 大于10分钟
-cmin -10 小于10分钟
-ctime 10 10天被修改的文件,与cmin命令用法一致,
测试:
修改文件内容
搭建新的测试环境
-perm 根据文件权限查找
444 表示文件权限等于444
-444表示文件权限含有444,ug位无要求且o为有r权限
/444中的/表示或者的关系,只要o位有r权限即可
-exec 对于find命令找出的文件执行该参数后所给出的命令,其中{ }代表命令所找到的文件
此命令表示将查找到的权限为o为上有r权限的文件去掉o位上的r权限