Linux系统基础学习——6.十分钟学会find命令

      通过上一篇的学习,我们知道了如何访问文件,如何创建、移动、复制及删除文件,最后我们了解了多种操作文件内容的命令。上篇博客提到的命令都是对已知的文件进行操作,今天,我们学一个命令用于在指定路径下查找满足用户条件的文件,find命令,find顾名思义,翻译为中文为“查找”。下面,我们来看看find命令怎么使用吧!

      find的使用格式为:find    查找路径    查找条件    查找到后的处理方式

      默认情况下查找路径为当前目录,查找条件为指定路径下的所有文件,查找到后的处理方式为显示。

查找条件:

       既然是查找,那我们当然需要提供一些筛选条件,以便精确匹配到我们需要的文件,Linux给用户提供了众多查找条件,常用查找条件如下:

-name ‘filename’         #对文件名作精确匹配;filename支持文件名通配(后面篇章会学到,现在先知道有这么回事就行),文件名通配符有:* 匹配任意长度的任意字符;? 匹配任意单个字符;[] 匹配指定范围内的任意单个字符,如[a-z] 匹配所有小写字母;[^] 匹配指定范围外的任意单个字符,如[^0-9] 匹配非数字;[:space:] 空白字符;[:punct:] 标点符号;[:lower:] 小写字母;[:upper:] 大写字母;[:alpha:] 大小写字母;[:digit:] 数字;[:alnum:] 数字和大小写字母;最后7个使用时外面还有加‘[]’,如[[:space:]] 匹配空白字符。
-iname ‘filename’       #文件匹配时不区分大小写
-regex pattern          #基于正则表达式进行文件名匹配(正则表达式后面也会学到)
-user username         #根据文件属主查找
-group groupname      #根据属组查找
-uid UID              #根据UID查找(用户ID号)
-gid GID              #根据GID查找(属组ID号)
-nouser               #查找没有属主的文件
-nogroup              #查找没有属组的文件
-type                 #根据文件类型查找。f 普通文件;d 目录;c 字符设备;b 块设备;l 链接文件;p 管道;s 套接字类型文件;如find ~ -type d
-size                  #[+|-]nk、nM、nG 根据文件大小查找,加减表示大于小于nk、M或G的文件。如find ~ -size +10k 查找用户目录大于10k的文件

当同时指定多个条件查找时,可使用以下组合条件:

-a                  #同时满足才显示,and(与),为系统默认方式
-o               #满足一个或部分就显示,or(或者)
-not             #非
例如:find /tmp –nouser –a –type d   #查找/tmp下没有属主且类型为目录的文档

根据文件时间戳查找:

以天为单位
-mtime [+|-]num       #根据文件修改时间查找
-ctime [+|-]num       #根据文件改变时间查找
-atime [+|-]num       #根据文件访问时间查找
以分钟为单位
-mmin [+|-]num
-cmin[+|-]num
-amin[+|-]num

根据权限查找:

-perm mode        #精确匹配
-perm –mode       #文件权限能完全包含此mode时才能显示
-perm /mode       #有一位权限匹配即可

查找到后的处理方式:

-print            #显示,默认选项
-ls              #类似ls –l
-ok command \;   
-exec command \;   #-ok和-exec均为修改文件方法,两者区别为是否存在与用户交互。若command后要接find找到的文件,需加{}替代。如find ~ -type –d –ok chmod +x {} \;  find ~ -perm -020 –exec mv {} {}.new \;
find除了与-ok、-exec结合使用外,find也经常和xarge一起用
例如:find /etc –size +1M | xargs echo >> /xiaosheng.txt
以上是find命令常用的选项,其它选项或详细说明请查看使用说明(man find)
参考资料:马哥Linux、Linux从入门到精通

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值