Linux find命令

find - search for files in a directory hierarchy 递归目录搜索文件

命令格式:find [PATH] [option] [action]

常用参数及说明:更多详细信息可以参考man find页面

1. 与时间相关的参数:-atime,-ctime,-mtime,这里以-mtime来说明

  • -mtime n:n为数字,意义是在n天之前的(一天之内)被改动过内容的文件
  • -mtime +n:列出在n天之前(不含n天本身)被改动过内容的文件
  • -mtime -n:列出在n天之内(含n天本身)被改动过内容的文件
  • -newer file:file为一个存在的文件,列出比file文件更新的文件

例子

[root@rhel6164 ~]# find /var -mtime 4 #表示4天前的那一天修改过的文件
[root@rhel6164 ~]# find /var -mtime +4 #表示4天以前(大于等于5天)修改过的文件
[root@rhel6164 ~]# find /var -mtime -4 #表示4天以内修改过的文件

2. 与使用者或组名有关的参数

  • -uid n:n为数字,用户账号ID,UID
  • -gid n:n为数字,组名ID,GID
  • -user name:name为账号
  • -group name:name为组名
  • -nouser:不存在/etc/passwd里面的账号
  • -nogroup:不存在/etc/group里面的组名

例子

[root@rhel6164 ~]# find /var -user test #查找/var目录下属于test账号的文件
[root@rhel6164 ~]# find /var -nouser #查找owner不在/etc/passwd里面的文件

3. 与文件权限及名称有关的参数

  • -name filename:查找文件名为filename的文件
  • -size[+-]SIZE:查找比SIZE要大(+)或者小(-)的文件,关于SIZE的表示,可以查看man find页面关于-size的说明
  • -type TYPE:查找类型为TYPE的文件,关于TYPE的表示,可以查看man find页面关于-type的说明
  • -perm mode:查找文件权限刚好等于mode的文件
  • -perm +mode:查找文件权限大于mode的文件
  • -perm -mode:查找文件权限小于mode的文件

例子
[root@rhel6164 ~]# find /var -name test #查找/var/目录下文件名为test的文件
[root@rhel6164 ~]# find /var -perm 6000 #查找/var/目录下文件权限刚好是6000的文件


4. 额外的参数

  • -exec command:command为其他命令,-exec后面可以接额外的命令来处理搜索到的结果,所接的命令不支持别名(alias)
  • -print:将结果打印到屏幕上,这个动作是默认的动作

例子

[root@rhel6164 ~]# find /var -perm +7000 -exec ls -l {} \; #查找/var目录下权限大于7000的目录或文件,然后列出,反斜杠(backslash)是转义后面的分号(;)
[root@rhel6164 ~]# find /var -name '.?*' #查找/var目录下所有的隐藏文件

参考:鸟哥的Linux私房菜第三版


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值