find命令详解

find命令详解

实时查找工具,通过遍历指定路径下的文件系统完成文件查找

工作特点:
查找速度慢
精确查找
实时查找

使用

find 选项 路径 [查找条件+处理动作]
查找路径:指的是具体目录路径,默认是当前文件夹
查找标准:指定查找标准(文件名、大小、类型、权限等),默认查找所有文件
处理动作:对符合条件的文件做一定的操作,默认的是输出在屏幕上

查找条件

根据文件名查找写

-name 文件名
-iname:忽略大小
-regex “pattern”:以patter匹配整个文件路径字符串,而不仅仅是文件名称

根据属组和属组进行查询

-user:查找属主为指定用户的文件
-group:查找属组为指定组的文件
-uid:查找属主为指定uid的文件
-gid:查找属组为指定gid的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件

根据文件类型进行查找

-type TYPE
f、d、l、s、b、c、p

根据文件大小来查找

-size [+|-]N[bcwkMG]

根据时间戳来查找


-atime [+|-]N
-mtime
-ctime
分钟
-amin
-cmin
-mmin

根据权限来查找

-perm [+|-] MODE
MODE:精确权限匹配
/MODE:任何一类对象的权限只要有一位匹配即可
-MODE:每一类对象都必须同时拥有为其指定的标准

组合条件

与:-a
或:-o
非:-not

案例:找出/tmp目录下,属主不是root,且文件名不是fstab的文件

find /tmp \(-not -user root  -a -not -name fstab\)

处理动作

-print:默认的动作,显示至屏幕上
-ls
-delete:删除查找到的文件
-fls /path/to/somefile:将查找到的所有文件的长格式的信息保存至指定文件中
-ok COMMAND {}\:对查找到的每个文件执行COMMAND指令,对于每个文件执行命令之前都会交换式要求用户确认
-exec COMMAND {}\:对查找到的每个文件执行COMMAND指令,大括号用于引用查找到的文件名称自身
注意
find传递查找到的文件到后面指定命令时,会将所有符合条件的文件一次性传递给后面的指令。另一种方式
find | xargs COMMAND

练习题

1.查找/var目录下属主为root,且属组为mail的所有文件或目录

find /var -user root -group mail

2.查找/usr目录下属主不属于root,bin,hadoop的所有文件或目录

[root@localhost ~]# find /usr \( -not -user root -a -not -user bin -a -not -user hadoop \) -ls

3.查找/etc目录下最近一周内容被访问过的文件或目录

find /etc -atime -7

4.查找当前系统上没有属主或属组,且最近一周被访问过的文件或目录

find / \( -nouser -o -nogroup \) -atime -7 -ls

5.查找/etc目录下大于1M且类型为普通文件的所有文件或目录

find /etc -size +1M  -a -type f -ls

6.查找/etc目录下所有用户都没有写权限的文件

find /etc -not -perm /222 -ls
	/MODE:任何一类对象的权限只要有一位匹配即可
	-MODE:每一类对象都必须同时拥有为其指定的标准

7.查找/etc目录下至少一类用户没有执行权限的文件

find /etc -not -perm -111

8.查找/etc/init.d目录下,所有用户都有执行权限,且其他用户有写权限的文件

find /etc/init.d/ -perm -113

大家动动小手点点关注吧,博主希望能与大家交流更多的知识!
博主个人博客:www.save1314.vip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值