########find查找命令########
1.通过user用户或者group组来查找文件
首先我touch /mnt/file{1…5}在/mnt下建立五个文件
分别修改他们的用户和组
接着watch -n 1 ls -lR /mnt/实施监控命令方便观察
(1).find /mnt -user root ##查找/mnt下用户为root的文件
(2)find /mnt -user student ##查找/mnt下用户为student的文件
(3).find /mnt -not -user student ##查找/mnt下用户不是student的文件
(4).find /mnt -not -user student -o -group yy ##查找/mnt下用户不是student或者组是yy的文件
此处-o是或者的意思
2.find /etc -name passwd ##查找/etc下名字为passwd的文件
find /etc -maxdepth 2 -name *.conf ##查找/etc下所有.conf结尾的最深为2层的文件
(-maxdepth + 数字 :最深为几层)
find /etc -maxdepth 1 -name *.conf ##查找/etc下最深为一层的.conf结尾的文件
find /etc -maxdepth 2 -mindepth -name .conf ##查找/etc下最深最浅都为两层的.conf结尾文件
3.通过文件大小来查找
首先我将file1,file2,file3分别切为10k,20k,40k,方便后面测试
(1). find /mnt -size 20k ##找出/mnt下大小为20k的文件
(2)find /mnt -size -20k ##找出/mnt下小于20k的文件
(3)find /mnt -size +20k ##找出/mnt下大于20k的文件
4.根据类型查找(d为目录;f为文件)
(1)find /mnt -type d ##查找/mnt的下目录
(2)find /mnt -type f ##查找/mnt下的文件
5.通过文件修改的时间查找
首先我vim /etc/passwd修改当中yy用户的uid,以便测验
(1)find /etc -cmin -10 ##查找/etc下10分钟以内修改过的文件,此时就有我刚修改的文件
(2)find /etc -cmin +10 ##查找/etc下修改时间超过10分钟的文件
( -ctime 10 ##找出10天被改过的文件
-ctime -10 ##找出10天内被改过的文件
-ctime +10 ##找出10天外被改过的文件)
6.通过文件权限查找
首先我将/mnt下五个文件分别设定不同权限,以便后面测试
(1) find /mnt -perm -044 ##找出o和g拥有r权限的文件(只要o和g含有r权限就行,其他不管)
(2)find /mnt -perm /444 ##找出满足u,g或o拥有r权限的文件,满足其中一个条件就可以
(find /mnt -perm 444 ##找出权限为444的文件)
7. find / -group mail -exec cp -rp {} /mnt/ ; ##找出/下组为mail的文件并将其拷贝到/mnt下
(-exec 后面接下一个命令,但最后面一定要加 {} \ ; )
find命令
最新推荐文章于 2024-05-30 09:27:48 发布