功能强大find命令

find

要使实验效果更加明显,先在/mnt下建立了一些文件,

并修改了他们的权限及所有人和所在组。

 

用watch -n 1 ls -lR /mnt/  监控/mnt中的文件,方便观察

使用find命令按名称进行文件的查找

find命令用来查找指定的文件,其用法如下:
 

1.find -name  根据文件名查找

   find /etc/ -name passwd      查找/etc下名为passwd的文件


 

查找用户为student的文件如下:

find /mnt/ -user huige     参数解释:-user 根据用户查找


 

查找用户组为huijie的用户组

find /mnt/ -group huijie     参数解释:-group 根据用户组查找


 

既指定用户又指定用户组:

查找mnt中所有人为root且所有组为student的文件:

find /mnt/ -user root -group student  


 

find /mnt/ -not -group student -user   root     解释:-not 反向选择 查找mnt下所有人不是student 用户组不是root的文件

find /mnt/ -not -group student -o -user student    参数解释: -o 所有条件符合一个即可

find /mnt/ -not -user student -a -group student

-maxdepth 数字     参数解释:指定查找时的最大深度

-mindepth  数字      参数解释:指定查找时的最小深度

使用find命令按文件大小进行文件的查找

-size  大小     根据指定大小查找

-size +20k     查找超过20k的文件(k小写)

-size -20k      查找小与20k的文件

先分别截取文件file1,file2,file3,12k,20k,40k如下图:

查看三个文件大小:

使用find命令按文件类型进行文件的查找

-type      根据指定类型查找

-type  d   查找目录


 

-type  f    查找文件

-type  l    查找连接

-type  b    查找块

-type  c    查找字符设备

使用find命令按文件修改时间进行文件的查找

 


-ctime 10 十天之内被修改的文件,如图没有匹配的文件

 

-ctime -10 小于十天被修改的文件

-ctime +10  被修改大于十天的文件

-cmin +|-10 查找 被修改大于或小于10分钟的文件

-cmin 10 查找10分钟内被修改的文件



使用find命令按文件权限大小进行文件的查找

指定权限并指定查找类型:


 


-perm 222  ugo位必须都是w

-perm -444    “-“  表示 “与“ ugo位必须都含有r

-perm  /444    “/”  表示 “或” ugo位至少有一位含有r


 

指定权限并指定查找类型:

find /mnt/ -perm 444 -type f

对find命令查出的文件进行处理

-exec commd 命令 { } \;  

参数解释: { } :表示find的输出

                   -exec 后跟想要执行的动作

                   必须时空格后加\;  

                   \:表示  对分号进行转义
find /mnt/ -perm 440 -exec chmod o-r {}  \;

查找/mnt ugo位权限为440的文件(如下图符合条件的有file1和file2),并且将其o位权限变为r--

执行前

执行后


 

find /etc/ -name *.conf -exec cp -rp {}  /mnt  \;

查找/etc 下文件名含有conf 的文件,并把文件连同文件的权限一同备份到/mnt

find /mnt/ -name *.conf -exec rm -fr {}  \;    查找/mnt 下文件名含有conf 的文件,并把文件删除

 

 

注意:这条命令不能在当前目录为mnt时用。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值