Linux基础知识之查找和处理文件whichlocatefind(2)

三、find [dir1 …] [criteria… 组] [action...]

可以针对找到的文件执行命令

只能搜索用户具有读取和执行权限的目录

1.实时搜索,不用基于数据库

速度较慢,但比locate更准确

如果未给定任何起始目录,则会使用CWD

如果未给定任何条件,则所有文件均匹配。如:

[root@desktop23 ~]# find /

[root@desktop23 ~]# find .

2.基本示例

[root@desktop23 ~]# find -name snow.png

在当前目录中搜索名为 snow.png 的文件

[root@desktop23 ~]# find -iname snow.png

在当前目录中搜索(不区分大小写)名为:

snow.png、Snow.png、SNOW.PNG等文件

[root@desktop23 ~]# find / -name ‘*.txt’

在系统的任意位置搜索以.txt结尾的文件

通配符应当始终加引号,以避免出现异常结果

[root@desktop23 ~]# find /etc -name ‘*pass*’

在 /etc/ 中搜索在其名称中包含 pass 的文件

[root@desktop23 ~]# find /home -user joe -group joe

在 /home/ 中搜索由用户 joe 和组 joe 所有的文件。

默认情况下,都是逻辑and关系,2者都必须符合。

3.也可以用 OR 连接或者用 -o 或 -not 求反

也可以使用括号来确定逻辑顺序,但在 bash中必须忽略

[root@desktop23 ~]# find -user joe -not -group joe

[root@desktop23 ~]# find -user joe -o -user jane    或者关系

[root@desktop23 ~]# find -not \( -user joe -o -user jane \)

拥有人不是joe或者不是jane

4.可以按文件拥有人名称或 ID  搜索

[root@desktop23 ~]# find / -user student -o -uid 500

5.可以按文件的权限搜索

[root@desktop23 ~]# find -perm 755

[root@desktop23 ~]# find -perm +222

如果任意一个人可以写入,则匹配

[root@desktop23 ~]# find -perm -222

如果每个人都可以写入,则匹配

[root@desktop23 ~]# find -perm -002

如果其他人可以写入,则匹配

6.find和数字条件

[root@desktop23 ~]# find -size 10M    大小等于10MB的文件

[root@desktop23 ~]# find -size +10M  大小超过10MB的文件

[root@desktop23 ~]# find -size -10M  大小不足10MB的文件

还可以使用其他修饰符,例如K代表KB,G代表GB等

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20738.html