Linux文件查找进阶知识,find命令的用法及解读

1、上面讲到了使用locate查找文件,它是进行非实时的、模糊查找,基于对某段时间建立的数据库来对文件进行搜索,查找时间相对快速,今天来看看另一个文件查找工具find,它是对文件进行实时查找、精确查找、搜索指定目录中所有的文件来完成检查,查找文件速度慢,所以使用该工具时需要把查找范围控制相对准确这样查找时间会快很多

2、下面就来看看find命令的帮助信息吧,如下图

Linux文件查找进阶知识,find命令的用法及解读

3、下面就来看看这个命令怎么用吧,如下图,在该目录中有1、2、3、a等等这些文件,那么使用find来查找1的查找路径默认是查找当前目录下,查找标准是当前目录下的所有文件

Linux文件查找进阶知识,find命令的用法及解读

4、下面来看看匹配标准,如下图,对文件名做精确匹配,比如搜索当前目录下的a1,使用-name参数可以对文件进行精确匹配

Linux文件查找进阶知识,find命令的用法及解读

5、通配符的使用,如下图,在-name后搜索a*,就会出现所有前面为a的文件

Linux文件查找进阶知识,find命令的用法及解读

6、对文件的大小写进行不区分匹配,如下图,使用-iname可以进行不区分大小写的文件查找

Linux文件查找进阶知识,find命令的用法及解读

7、根据文件的拥有者进行查找,如下图,查找所有user1所属的文件

Linux文件查找进阶知识,find命令的用法及解读

8、也可以通过查找拥有组来实现,如下图,查找所有user1组所属的文件

Linux文件查找进阶知识,find命令的用法及解读

9、还可以通过uid、gid来进行查找,如下图

Linux文件查找进阶知识,find命令的用法及解读

10、通过-nouser、-nogroup参数可以查看没有拥有者或拥有组的文件,如下图,至于怎么制作没有拥有者的文件,只需要删除该用户,那么它创建的文件就会成为没有拥有者的文件了

Linux文件查找进阶知识,find命令的用法及解读

11、通过文件的类型进行查找,文件类型之前也有说过,有普通文件、目录、块设备、链接等,而对这些文件进行查找呢,如下图,-type是查找文件类型,后面的d代表目录、l代表链接、b代表块设备、f代表普通文件

Linux文件查找进阶知识,find命令的用法及解读

12、根据文件的大小进行查找,使用-size参数,如下图,对大于1k及小于1k的文件进行查找,-size后面的参数如果是+1k即代表大于1k,-1K即代表小于1k,如果是1k即代表1k左右

Linux文件查找进阶知识,find命令的用法及解读

13、通过组合条件来进行文件查找,默认使用-a或and,如下图,可以看到这个文件在3-4k之间,如果需要搜索的内容同时满足两个条件,就可以使用-a或and参数

Linux文件查找进阶知识,find命令的用法及解读

14、上面讲到了-a,也就是"与"的关系,那么自然有"或"、"非"的关系,下面来讲讲"或"的关系,使用-o或or都可以实现,如下图,可以看到,只要是文件都列入到结果中了,当然满足文件大小4k左右的结果也在其中了

Linux文件查找进阶知识,find命令的用法及解读

15、"非"是使用-not,如下图,搜索除了文件之外的内容,所以就只显示目录了

Linux文件查找进阶知识,find命令的用法及解读

16、对上面的命令,再集合-a或-o来进行组合,如下图,查找了当前目录中既不属于user2又不属于user3的文件

Linux文件查找进阶知识,find命令的用法及解读

17、也可以对上面的命令写成这样,如下图,使用\\来对(进行转义,实现了与上面相同的效果

Linux文件查找进阶知识,find命令的用法及解读

18、通过时间戳进行文件查找,如下图,使用-atime后接数字(如+1就是1天之前的访问,-1就是1天之内的访问,1就是1天时间访问),使用-amin后接数字,使用方式参考-atime

Linux文件查找进阶知识,find命令的用法及解读

19、除了atime,还有mtime、ctime、mmin、cmin,在前面的文件时间中讲道理这方面的知识,如下图,通过stat命令查看ur3的文件访问时间、修改时间、数据改变时间,前面的atime对应的就是文件访问时间的查找,mtime就是文件修改时间,ctime就是文件的数据改变时间

Linux文件查找进阶知识,find命令的用法及解读

20、通过权限查找文件,使用-perm,如下图,通过-perm查找权限为644的文件,这样写是对权限为644的文件进行精确匹配

Linux文件查找进阶知识,find命令的用法及解读

21、那么不需要精确匹配呢,只需要在前面加/即可,如下图,只要符合644中的任何一项就会被显示到结果中

Linux文件查找进阶知识,find命令的用法及解读

22、对显示结果进行进一步操作,如下图,对查找结果进行打印并且列出,以及下面的直接列出,对比前面的结果,这样显示无疑更加丰富

Linux文件查找进阶知识,find命令的用法及解读

23、也可以对输出的结果进行权限调整,如下图,uA1本来是644的权限,在find出结果后加上-ok参数后加命令,也就是在每一次操作都需要确认,来将uA1修改为646的权限

Linux文件查找进阶知识,find命令的用法及解读

24、也可以通过-exec后直接加命令全部执行,如下图,将显示结果直接修改为644,或者-exec后接其他的可执行命令,如mv、cp、chown、chgrp、重定向等

Linux文件查找进阶知识,find命令的用法及解读

25、以上就是关于find命令的一点理解了


分享到:


相關文章: