参数说明

-exec              # 对匹配的文件执行该参数所给出的命令
-ok                # 同-exec,只是执行命令之前需用户确认
-name FILENAME     # 指定文件名
-perm 755          # 指定文件执行权限
-user USERNAME     # 指定文件创建用户
-group GROUPNAME   # 指定用户组
-mtime -n/+n       # 指定文件更改时间,-n指n天以内,+n指n天以前
-atime -n/+n       # 指定文件访问时间,-n指n天以内,+n指n天以前
-ctime -n/+n       # 指定文件创建时间,-n指n天以内,+n指n天以前
-type b/d/c/p/l/f  # 指定文件类型:块设备、目录、字符设备、管道、符号链接、普通文件
-size n[cwbkMGc]   # 指定文件大小
-depth             # 使查找在进入子目录前先行查找完本目录
-follow            # 如果遇到符号链接文件,就跟踪链接所指的文件

简单示例

  • 大写字母开头的文件

    find . -name "[A-Z]*"
    
  • host开头的文件

    find /etc -name "host*"
    
  • 全部用户可读写执行的文件

    find . -perm -777 -exec ls -l {} \;
    
  • 所有文件夹

    find . -type d
    
  • 大于1MB的文件

    find . -size +1000000c
    
  • ap或may开头的文件

    find -name 'ap*' -o -name 'may*'
    
  • 1天内改动过的文件

    find . -mtime -2
    
  • 1天之内存取过的文件

    find . -atime -1
    
  • 60分钟前改动过的文件

    find . -mmin +60
    
  • 30分钟前被存取过的文件

    find . -amin +30
    
  • 更新时间比tmp.txt早的文件

    find . -newer tmp.txt
    
  • 存取时间比tmp.txt早的文件

    find . -anewer tmp.txt
    
  • 被改动且在2日内被存取过的文件

    find . -used -2
    
  • 属于用户www的文件

    find . -user www
    
  • 用户识别码大于501的文件

    find . -uid +501
    
  • 用户组为www的文件

    find . -group www
    
  • 用户组ID为501的文件

    find . -gid 501
    
  • 不属于本地用户的文件

    find . -nouser
    
  • 不属于本地组的文件

    find . -nogroup
    
  • 最大查找3层

    find . -name tmp.txt -maxdepth 4
    
  • 从第2层开始查找

    find . -name tmp.txt -mindepth 3
    
  • 大小为0的文件

    find . -empty
    
  • 大于512k的文件

    find . -size +512k
    
  • 小于512k的文件

    find . -size -512k
    
  • 硬连接数大于2的文件

    find . -links +2
    
  • 输出查找的文件内容

    find . -name tmp.txt -exec cat {} \;
    
  • 删除查找的文件,需要用户确认

    find . -name tmp.txt -ok rm {} \;
    
  • 查找普通文件

    find . -type f -exec ls -l {} \;
    
  • 查找并删除更改时间在5日以前的文件

    find . -type f -mtime +5 -exec -ok rm {} \;
    
  • 查找当天修改过的文件

    find . -mtime -1 -type f -exec ls -l {} \;
    
  • 查找磁盘中大于3M的文件

    find . -size +3000k -exec ls -ld {} ;
    
  • 查找的php文件并拷到/tmp文件夹

    find . -name '*.php' -exec cp '{}' /tmp ';'