1. 根据文件或者正则表达式进行匹配

find /usr/ -path "*local*"
find /home ! -name "*.txt"
find . -regex ".*\(\.txt\|\.pdf\)$"

2. 根据文件类型进行搜索

-type 类型参数
表 1. 类型参数列表

f

普通文件

l

符号连接

d

目录

c

字符设备

b

块设备

s

套接字

p

Fifo

3. 基于目录深度搜索

-maxdepth 最大深度
-mindepth 最小深度

4. 根据文件时间戳进行搜索

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

5. 示例

  1. 查找目录:find /(查找范围) -name '查找关键字' -type d

  2. 查找文件:find /(查找范围) -name 查找关键字 -print

  3. 按照文件大小进行降序排列: find ./ -type f -printf '%s %p\n' | sort -rn

  4. 按照文件大小进行升序排列: find ./ -type f -printf '%s %p\n' | sort -n

  5. 查找最近10分钟修改的文件,并显示时间

    find . -mmin -10 -printf '%CY%Cm%Cd.%CH%CM\t%s\t%p\n'