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

相关推荐

  • bond的常见使用方式和问题

    bond的简单建立于事项

    2017-09-09
  • 8月9日sed(更新版)

    sed命令及vim基础使用命令 处理文本的工具sed stream editor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有…

    Linux干货 2016-08-15
  • 进程工具总结

    一、top命令         top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处…

    Linux干货 2016-09-12
  • linux文件基本权限、默认权限、隐藏权限和ACL权限

    基本权限    文件属性rwx     每个文件当用ls -l查看时,都会显示文件的详细属性信息,其中在排在首位的共有10位字符信息     例如 -rw-r–rw-. 1 root root …….. 共有10位,第一位代表的是文件的类型,后边9位表示的是文件的…

    Linux干货 2016-08-04
  • hadoop安全模式

    hadoop安全模式在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全模式。在实践过程中,系统启动的时候去修改和删除文…

    Linux干货 2015-04-13
  • Linux下vim编辑器的使用

    vim编辑器 概括 vim,是vi的升级版本,它不仅兼容vi的所有指令,还有一些新的特性在里面。 使用vi和vim的三种主要模式 vim在工作过程当中有三种模式,编辑模式(命令模式)、输入模式、末行模式     1、编辑模式:也叫命令模式,键盘操作常被理解为编辑命令;     2…

    Linux干货 2016-08-10

评论列表(1条)

  • renjin
    renjin 2017-04-12 11:14

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