Find命令详解

find命令详解

格式

find pathname -options [ -print -exec -ok ... ]

功能

在磁盘中查找文件,并作相应处理

参数

pathname         所查找的目录,可以是相对/绝对路径

options

  -print  将结果输出到标准输出

  -exec 'command' {} ;  对结果执行该参数所给的shell命令

  -ok  与-exec作用相同,不过需要用户确认是否执行命令

  -name  按照文件名查找

  -perm [+-]mode  按照文件权限查找

  -mode  必须全部包括mode权限

  +mode  包含任一mode

  -user  按照所属用户查找

  -group  按照所属用户组查找

  -mtime/atime/ctime -n/+n  按照mtime/atime/ctime查找,-n表示n天内变更,+n表示n天前变更

  -nogroup  查找无有效所属组的文件,即该组不在/etc/group中存在

  -nouser  查找无有效所属用户的文件,即该用户不在/etc/passwd中存在

  -newer file1 ! file2  查找比file新,比file2旧的文件

  -type  查找某一类型的文件

    b  块设备文件

    d  目录

    c  字符设备文件

    p  管道文件

    l  连接文件

    f  普通文件

  -size [+-]n[cwbkMG]  不带单位  查找文件长度为n块的文件;带单位  超找文件长度为n Bits的文件

  -depth  首先查找当前目录,再查找其子目录

  -fstype  查找某一文件系统的文件

  -mount  查找文件时不跨越mount点

  -follow  如果遇到链接文件,就跟踪至链接所指向的文件

  -cpio  对结果文件执行cpio命令

  -amin n  查找最后n分钟访问的文件

  -atime n  查找最后n天访问的文件

  -cmin n  查找最后n分钟被改变状态的文件

  -ctime n  查找最后n天被改变状态的文件

  -mmin n  查找最后n分钟修改内容的文件

  -mtime n  查找最后n天修改内容的文件

  -o  条件1或条件2

  -a  条件1和条件2

  -not或!  非条件   

举例

  find . -mtime 2  查找当前目录最后48小时内修改的文件

  find . -type f -name "*.log"  查找当前目录下所有以.log结尾的普通文件

  find /opt/soft/test -perm 777  查找/opt/soft/test目录下所有权限为777的文件

  find . -type d | sort  查找当前目录下所有目录并排序

  find . -size +1000c  查找当前目录下大于1KB的文件

  find . -type f -mtime -2 -exec ls -l {} ;  查找当前目录下2天内修改的普通文件,并显示出来

  find . -type f -mtime +14 -exec rm -f {} ;  超找当前目录下14天之前的文件,并删除

  find . -type f -mtime +14 -ok rm -f {} ;  超找当前目录下14天之前的文件,并删除,删除前询问是否删除

原文地址:https://www.cnblogs.com/yc913344706/p/7128778.html