find 顾名思义就是查找,Linux系统中我们可以使用find命令来查找文件
当find命令不跟任何参数时,表示在用户当前所在目录里进行文件的查找并显示出来:
开始实验来了解find命令吧:
首先搭建一个便于我们观察find命令效果的环境:
在/mnt目录下建立五个file文件,并监控(touch file{1..5})
监控内容
开始更改部分文件的用户,用户组:
查看更改效果:
find (路径) -name +任意名字 #查找文件名称符合的文件
寻找 /etc/底下的 带有passwd(注 passwd存在的话就会显示出来,当然输入passw不会显示因为没有该文件,所以名称必须具体正确!)
find (路径) -user +用户 #查找所有人为用户的文件
find (路径) -group + 。。。 #查找所有组为。。。的文件
当所有组不存在时会报错:
注 -user -group... 可联合使用(限制条件变多了):
顺序不影响结果:
find (路径) -not ....... 表示否定
find -maxdepth + 数字 + ... #设置最大目录层级
最大etc下两层
最大etc下一层
find -mindepth +数字+... 设置最小目录层级
换一个测试环境:
截取三个大小不一样的文件 filekkk filekkk1 filekkk2 (12k,20k,40k):
find (路径)-size 20k #查找刚好为20k大小的文件
find (~)-size +20K #查找 文件大小大于20k的文件
find (~) -size -20k #查找 文件带小小于20k的文件
find (路径) -type d 查找路径下的目录
find (~) -type f 查找路径下的文件
find (路径) -cmin 10 查找10分钟那一刻被修改的文件
find -cmin +10 查找大于10分钟被修改的文件
find -cmin -10 查找小于 10分钟被修改的文件
.......... -mtime + 数字 表示 几天。
一天,一天以上,一天以内:
再次搭建一个新环境:
更改文件的权限大小:
监视起来:
find 路径 -perm 444 表示文件权限等于444
-444 表示文件权限含有444(比如 644.654.655.666.。。)
/444 表示或者的关系三个任意一个含有4 就行!
只有file2为444:
只有/mnt ,file2 444,file3 644 含有(444):
只要(u g o )其中一个含有4就可的有:(mnt , file1 file2 file3 file4):