Linux基础命令:find

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

  • find - search for files in a directory hierarchy 查找文件并可执行操作
  • 支持一次搜索多个路径,不指定路径即当前路径搜索
  • 使用-name 的条件时.建议使用双引号条件,否则可能有未知的错误,忽略大小写 -iname
  • 只有-name 的条件支持通配符,其他如-inum 15588[0-9]等均不支持
  • 支持多个不同条件并列如 -type f -group xzt
  • 支持同一条件多次 -a:and -o:or
  • 支持反条件查找 ! -name "*.ptp"
  • 如时间,大小等选项参数 +n:比n大 -n:比n小 n:等于n
  • -exec 和 -ok 后面参数注意格式
  • 搜索遇到无权限的目录报警,可以加上 2>/dev/null
  • -P:为默认的不处理符号链接,-H:指定命令跟随的符号链接和-L:指定跟随所有的符号链接
  • 常用选项:


  • 寻找大于50M的文件,并列出详细信息

    [xzt7566@centos7-test ~]$ find / -size +50M -exec ls -lh {} \; 2>/dev/null
    .
    -rw-r--r--. 1 root root 66M Apr 22 23:15 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.221-2.6.18.0.el7_6.x86_64/jre/lib/rt.jar
    -rwxr-xr-x. 1 root root 97M Mar 27 21:56 /usr/lib64/firefox/libxul.so
    -rwxrw-rw-. 1 xzt7566 xzt7566 57M Apr 30 18:10 /home/xzt7566/.cache/vmware/drag_and_drop/8jVyag/M486-102-E02F1.NC
    -rwxrw-rw-. 1 xzt7566 xzt7566 57M May  1 09:38 /home/xzt7566/Documents/nc/4.nc
    
  • 寻找所有的rpm包,更改权限

    find ./ -name "*.rpm" -exec chmod 777 {} \;
    
  • 二次查找

    [xzt7566@centos7-test Downloads]$ find /etc -type f |xargs grep "xzt" 2>/dev/null
    /etc/group:wheel:x:10:xzt7566
    /etc/group:xzt7566:x:1000:xzt7566
    /etc/passwd:xzt7566:x:1000:1000:xzt7566:/home/xzt7566:/bin/bash
    /etc/group-:wheel:x:10:xzt7566
    /etc/group-:xzt7566:x:1000:
    /etc/passwd-:xzt7566:x:1000:1000:xzt7566:/home/xzt7566:/bin/bash
    
  • 显示格式

    [xzt7566@centos7-test Downloads]$ find ./ -printf "%f %m %u \n"
    ./ 755 xzt7566 
    .8 775 xzt7566 
    3.txt 664 xzt7566 
    
  • 类似ls的效果

    [xzt7566@centos7-test Downloads]$ find ./
    ./
    ./.8
    ./3.txt
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。