find 命令详解

Find 命令详解

find

  实时查找工具, 通过遍历指定路径完成文件查找;

  工作特点:

    查找速度略慢

    精确查找

    实时查找

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

 

语法:

  find [OPTION]… [查找路径] [查找条件] [处理动作]

  查找路径: 指定具体目标路径; 默认为当前目录

  查找条件: 指定的查找标准, 可以文件名、 大小、 类型、权限等标准进行; 默认为找出指定路径下的所有文件

  处理动作: 对符合条件的文件做操作, 默认动作为标准输出,输出至屏幕

 

 

查找条件:

(1)根据文件名和inode查找:

   -name “文件名称 支持使用glob

      *, ?, [], [^]

   -iname “文件名称 忽略字母大小写

   -inum n inode号查找

   -samefile name 相同inode号的文件(其实等于查找硬链接,基本不用)

   -links n 链接数为n的文件

   -regex “PATTERN” PATTERN匹配整个文件路径字符串, 而不仅仅是文件名称

 find 命令详解

(2)根据属主、 属组查找:

   -user
USERNAME
查找属主为指定用户(UID)的文件

   -group GRPNAME: 查找属组为指定组(GID)的文件

   -uid UserID 查找属主为指定的UID号的文件

   -gid GroupID 查找属组为指定的GID号的文件

   -nouser 查找没有属主的文件或目录

   -nogroup 查找没有属组的文件或目录

 find 命令详解

(3)根据文件类型查找:

   -type TYPE:

     f: 普通文件

     d: 目录文件

     l: 符号链接文件

     s 套接字文件

     b: 块设备文件

     c: 字符设备文件

     p: 管道文件

 find 命令详解

(4)组合条件:

   与: -a

   或: -o

   非: -not, !

 find 命令详解

(5)根据文件大小来查找:

   -size

      # 等于多少的文件

     +# 大于多少的文件

     -# 小于多少的文件

    find 命令详解

(6)根据时间戳:

   以“ 天” 为单位;

     -atime [+|-]#,

         #:
[#,#+1)

         +#:
[#+1,
]

         -#:
[0,#)

     -mtime

     -ctime

   以“ 分钟” 为单位:

     -amin

     -mmin

     -cmin

 find 命令详解

(7)根据权限查找:

   -perm

     222 精确匹配有222权限的文件

     -222 ugo必须全部符合

     +222 ugo有一个符合就行(cen7/222

  find -perm 755 会匹配权限模式恰好是755的文件

  只要当任意人有写权限时, find -perm +222就会匹配

  只有当每个人都有写权限时, find -perm -222才会匹配

  只有当其它人( other 有写权限时, find -perm
-002
才会匹配

 find 命令详解

处理动作:

  -print 默认的处理动作, 打印至屏幕;

  -ls 类似于对查找到的文件执行“ ls -l”命令

  -delete 删除查找到的文件;不能删除非空目录

  -fls file 查找到的所有文件的长格式信息保存至指定文件中

  -ok
COMMAND {} \;
对查找到的每个文件执行由COMMAND指定的命令;

     对于每个文件执行命令之前, 都会交互式要求用户确认

  -exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令

  {}: 用于引用查找到的文件名称自身

   ;是固定用法

 find 命令详解

注意:

1find传递查找到的文件至后面指定的命令时, 查找到所有符合条件的文件一次性传递给后面的命令

   2)有些命令不能接受过多参数, 此时命令执行可能会失败, 下面方式可规避此问题

        find | xargs COMMAND(生产常用的操作方式)

find 命令详解

 

原创文章,作者:张 洁,如若转载,请注明出处:http://www.178linux.com/73030

(1)
张 洁张 洁
上一篇 2017-04-09 22:19
下一篇 2017-04-10 08:24

相关推荐

  • 博客作业网络班22期+第5周(9.5-9.11)

    1、显示当前系统上root、fedora或user1用户的默认shell [root@MyCloudServer wjb]# egrep '^(root|fedora|user1)\>' /etc/passwd | cut -d: -f7/bin/bash 2、找出/etc/rc.d/init.d/functions文件中某单词后面…

    Linux干货 2016-09-15
  • CentOS7的虚拟机安装

    刚学习linux下CentOS7的操作,熟悉一下CentOS7的安装,所以写一下CentOS7的安装教程,如果那里有写的不对的话希望得到指正。 我是在VMware下装的CentOS7 第一步配置硬件 先创建一个虚拟机 这里我选择的典型模式,新手嘛,新手难度的创建就好,高手难度的等新手难度熟练了再去碰好了,当然这是我的建议… 下一步然后光盘选择稍后…

    2017-07-15
  • Linux进程管理

    一、程序与进程           1、程序         程序是为了达到特定的目的,可以被计算机运行并且由命令代码组成的语句序列。       &…

    Linux干货 2015-05-14
  • 读写执行权限对文件和目录的影响

    权限的作用 对于linux运维工作来说,熟练掌握文件管理技能是非常重要的,所谓“一切皆文件”,控制住文件的权限,可以说也就控制住了linux系统。而且,运维的工作要和成千上万的文件打交道,对于文件属性的熟识程度对于工作的顺利开展有着深远的影响。综上,了解文件,熟悉文件,掌握文件,是我们运维的一个重要的课程。 不同权限对文件和目录的影响 首先,我们现对权限进行…

    Linux干货 2017-07-30
  • 主流Linux发行版对比

      对服务器来说,没有最好的Linux发行版。一切都取决于企业的实际需求。 如今Linux已不再只是一款自由操作系统,它还承载了许多企业的核心应用。在对比流行的Linux发行版时,不仅要考虑有吸引力的功能集,还要关注系统的支持与服务。 服务器管理员担心操作系统的维护和支持周期。维护生命周期指的是Linux发行版持续提供产品补丁和更新的时间。支持方面…

    Linux干货 2016-10-31

评论列表(1条)

  • renjin
    renjin 2017-04-12 11:14

    详细的总结介绍了find命令的用法,内容很好,建议将命令或代码块入到”插入程序代码”中,文字上注意下缩进