find命令是用来在给定的目录下查找符合给定条件的文件
  find [OPTIONS] [查找起始路径] [查找条件] [处理动作]
 
  一、OPTIONS参数
    -P、-L、-H:控制软连接的对待方式,用的不多。不介绍了
 
  二、查找路径
    就是个目录路径,相对和绝对都可以。
 
  三、查找条件
    (一)、根据名称查找
      -name "PATERN"
      -iname "PATERN" :不区分名称字母大小写
      
 
      -regex PATTERN:基于正则表达式的模式查找,匹配的是整个路径,而非单个文件名。
      
 
    (二)、根据文件从属关系查找:
        -user USERNAME:查找属主指定用户的所有文件;
        -group GRPNAME:查找属组指定组的所有文件;
 
        -uid UID:查找属主指定的UID的所有文件;
        -gid GID:查找属组指定的GID的所有文件;
 
        
 
        -nouser:查找没有属主的文件;
        -nogroup:查找没有属组的文件;
        
    (三)、根据文件的类型查找:
      -type:根据不同的文件类型筛选
f 普通文件
d 目录文件
l 符号链接文件
b 块设备 文件
c 字符设备文件
p 管道文件
s 套接字文件
 
            
 
    (四)、根据文件的大小查找:
        -size [+|-]#UNIT
          常用单位:k, M, G
            #UNIT:(#-1, #]
            -#UNIT:[0,#-1]
            +#UNIT:(#, oo)
            
            1、1k时:a3只有15个字节,也被算做1k也查询,即条件符合大于0k ( #-1 ),小于等于1k (#)
            2、+1k时:a和a1满足大于1k(#)的条件
            3、-62k时:只有a3满足大于等于0,小于等于 61k(#-1)的要求。
 
    (五)、 根据时间戳查找:
        按照atime(文件的最后访问时间)、mtime(文件的最后修改时间)、ctime(文件最后改变时间)三个变量来查询:
          以天为单位,
          -atime [+|-]#
              #:[#, #-1) :最后访问时间在#天前(大于等于#天前,小于#-1天前)
                    等价于最后访问时间与当前的时间差 大于 (#-1)*24小时,小于等于 #*24小时
              -#:(#, 0] :最后访问时间在#天以内,不包括24小时前的那一刻。
                    等价于最后访问时间与当前的时间差小于 #*24小时
              +#:(oo, #-1] :最后访问时间在#-1天以前的。包括#-1天前
                    等价于最后访问时间与当前的时间差大于等于 #*24小时
                  -mtime
                  -ctime
 
      
 
    以“分钟”为单位:
        -amin
        -mmin
        -cmin
 
    -daystart:时间条件的开始先决条件。如果没有的时候,比较的开始时间为当前时间。如果有此参数,则比较的开始时间为当天的23:59:59。
    
 
    查询出来的各个文件名称对应时间如下:
    
 
文件名 修改时间
服务器当前时间 09/08 17:34
a 09/08 17:20
b 09/07 12:20
c 09/08 13:20
d 09/07 22:20
 
    
 
    
 
 
    (六)、根据权限查找
        -perm
        -perm [/|-]mode
          mode:精确权限匹配;
          /mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在“或”关系;
          -mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足。9位权限之间存在“与”关系;
          看案例:
          
            
          (1):精确查找。就是匹配权限值完全相等的;
          
 
          (2):/mode。 只要有一组用户匹配到一个权限即可。
          通俗说:就是属主拥有给定属主权限的某一个,或者数组拥有给定权限的某一个,或者其他用户拥有给定权限的某一个即可。
          
          表示属主拥有执行权限
          或者数组拥有写权限,
          或者其他用户拥有写权限
 
          (3):-mode。并且的关系。
          通俗说:就是给定的属主权限必须拥有。并且给定的数组权限必须拥有。并且给定的其他用户权限必须拥有。
 
          
          表示属主拥有执行权限
          并且数组拥有写权限,
          并且其他用户拥有写权限
 
        处理动作:
          -print:输出至标准输出;默认的动作;
          -ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
          -delete:删除查找到的文件;
          -fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
          -ok COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
          -exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;
 
          注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;
 
            但是有些命令不能接受过长的参数,此时命令执行会失败;另一种方式可规避此问题:
             find | xargs COMMAND

linux的find命令详解的更多相关文章

  1. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  2. linux之find命令详解

    linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...

  3. Linux下rar命令详解

    Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...

  4. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  5. Linux下chkconfig命令详解(转)

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  6. Linux 之Cut命令详解

    摘自:http://blog.csdn.net/zsf8701/article/details/7718680 Linux 之Cut命令详解 cut是一个选取命令,就是将一段数据经过分析,取出我们想要 ...

  7. Linux知识积累(4) Linux下chkconfig命令详解

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  8. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  9. LINUX系统VMSTAT命令详解

    linux系统vmstat命令详解 [转自 https://www.cnblogs.com/wensiyang0916/p/6514820.html] vmstat 1    1表示每秒采集一次vms ...

  10. 【转帖】Linux定时任务Crontab命令详解

    Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...

随机推荐

  1. android studio本地gradle

    1.从网站上下载http://services.gradle.org/distributions/ 2.打开工程里的gradle-wrapper.properties, distributionUrl ...

  2. C#简单实现动态数据生成Word文档并保存

    今天正好有人问我,怎么生成一个报表式的Word文档. 就是文字的样式和位置相对固定不变,只是里面的内容从数据中读取. 我觉得类似这种的一般用第三方报表来做比较简便.但既然要求了Word,只好硬着头皮来 ...

  3. Ubuntu 16.04安装JDK并配置环境变量(转发:https://blog.csdn.net/yan3013216087/article/details/78307258)

    系统版本:Ubuntu 16.04 JDK版本:jdk1.8.0_121 1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz 我这里下的是最新版,其他版本也可以 2.创建一个目 ...

  4. JFinal项目搭建

    1.Myeclipse中 新建 Dynamic Web Project   导入jar包 2.配置web.xml <?xml version="1.0" encoding=& ...

  5. PHP 数组教程 定义数组

    数组array是一组有序的变量,其中每个变量被叫做一个元素. 一.定义数组  可以用 array() 语言结构来新建一个数组.它接受一定数量用逗号分隔的 key => value 参数对.  a ...

  6. python中的pass语句是什么

    当用python写代码时,有时可能还没想好函数怎么写,只写了函数声明,但为了保证语法正确,必须输入一些东西,这种情况下,我们会使用pass语句 def func(*args): pass break语 ...

  7. java 获取request参数集

    request里有两个方法 request.getParameterMap(); request.getParameterNames(); 我想用这两种方法获取. 1.用request.getPara ...

  8. HashMap与ConcurrentHashMap、HashTable

    (1)HashMap的线程不安全原因一:死循环 原因在于HashMap在多线程情况下,执行resize()进行扩容时容易造成死循环. 扩容思路为它要创建一个大小为原来两倍的数组,保证新的容量仍为2的N ...

  9. Javascript 中 == 与=== 对比

    首先,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同的一定不等. 下面分别说明: 先说 === ...

  10. Python3.x:PDFMiner3k在线、本地解析pdf

    Python3.x:PDFMiner3k在线.本地解析pdf 安装 pip install pdfminer3k 示例一:在线解析pdf ''' Demo:pdf2htmlex解析pdf Dateti ...