zoukankan      html  css  js  c++  java
  • Linux 文件查找

    Linux 文件查找

    locate:根据全系统文件数据库进行,属于模糊查找,并且是非实时的
    示例:
      linlin@ubuntu:~/linlin/text$ touch locate.test
      linlin@ubuntu:~/linlin/text$ locate locate.test /home/linlin/linlin
      /home/linlin/linlin
      /home/linlin/linlin/code
      /home/linlin/linlin/test
      /home/linlin/linlin/word
      /home/linlin/linlin/code/.sum.sh.swp
      /home/linlin/linlin/code/a.out
      /home/linlin/linlin/code/file.txt
      /home/linlin/linlin/code/test3.c
    通过示例,我们可以看到,在创建了一个名为locate.test文件后,马上使用locate进行查找,但却并没有
    找到此文件,由于locate是根据全文件系统数据库进行查找,到此数据库并非每时每刻都在不断更新,所
    以并没有找到locate.test文件,但却将所有文件名和locate.test有一点相似的文件都查了出来,表示
    locate属于模糊查找
    locate查找的优点是速度快

    find:实时查找,精确查找,并且支持众多查找标准
          通过遍历指定目录下的所有文件,与目标文件匹配,因此find查找速度相对于locate更慢
          使用:find 查找路径 查找标准 查找到后的处理动作
          当查找路径省略时,默认为当前目录
          查找标准默认为指定路径下的所有文件
          处理操作默认为打印到标准输出
          linlin@ubuntu:~/linlin/text$ touch find.test
       linlin@ubuntu:~/linlin/text$ find find.test
       find.test
       
       匹配标准:
           -name 文件名:根据文件名精确匹配,严格区分大小写
           支持文件名通配符,* ? []
           -iname 文件名:根据文件名精确匹配,但不区分大小写
          
           -regex MODE:基于模式实现文件名匹配
          
           -user 用户名:根据文件属主匹配
           -group 组名:根据文件属组匹配
           当用户,或用户组被删除后,就无法根据属主名,属组名查找,这是就需要用到-uid -gid
           -uid UID:根据UID匹配
           -gid GID:根据GID匹配
          
           -nouser:查找没有属主的文件
           -nogroup:查找没有属组的文件
          
           -type 文件类型:根据文件类型查找
          
           -size [+|-]数字单位:根据文件大小查找
           单位:k M G,默认单位为字节
           [+|-]: 表示大于或小于
           查找时,范围是指定数值到指定数值减一个单位长度的数值之间
          
        组合查找条件:
        -a:与
        -o:或
        -not:非
        默认为与操作
       
        根据时间戳查找:
            时间的某一刻,单位为天
            -mtime 数字:根据修改时间
            -ctime 数字:根据改变时间
            -atime 数字:根据访问时间
           时间段
           [+|-]:+ 表示指定时间之前,- 表示指定时间到当前时间
          
           单位为分钟
           -mmin, -cmin, -amin
          
       根据文件权限查找:
           -perm -MODE:查找时每一组权限都必须精确匹配
           -perm /MODE:查找时只要有一组权限匹配即可
          
       执行动作:
           -print:显示
           -ls:类似于ls -l命令,显示查找到的每一个文件的具体信息
              在需要对查找到的文件执行其他命令时:
                  -ok COMMAND {} ;
                  -exec COMMAND {} ;
                  {}: 表示引用查找到的文件的文件名
                 
                
    which 选项 COMMAND:寻找可执行文件
        -a:将所有查找到的命令都列出来,而不是只显示第一个找到的命令
       
    whereis 文件类型 目标文件:寻找特定文件
        -b:只找二进制文件
        -m:只找在帮助文件manual路径下的文件
        -s:只找源文件
        -u:没有帮助文件的文件
                
          
         

  • 相关阅读:
    Eventbus的功能
    Linux下xz与tar的区别
    IntelliJ IDEA出现:This file is indented with tabs instead of 4 spaces的问题解决
    IntelliJ IDEA设置properties文件显示中文
    oh-my-zsh官方教程
    Vim出现:_arguments:450: _vim_files: function definition file not found的问题解决
    Ubuntu 16.04下安装zsh和oh-my-zsh
    zsh与oh-my-zsh是什么
    Mac安装IntelliJ IDEA时快捷键冲突设置
    IntelliJ IDEA删除项目
  • 原文地址:https://www.cnblogs.com/lnlin/p/7052660.html
Copyright © 2011-2022 走看看