find Cheatsheet - Linux File Search Reference

Linux 文件搜索必备的 find 命令都在这里了,从按名搜索到按权限过滤,按场景分类整理,找文件直接复制。

SysOps·37 commands·Last updated 2026-07-21
Back to SysOps

按名称查找 By Name 6

find . -name "file.txt"
按文件名查找(支持通配符)
find . -iname "file.txt"
忽略大小写查找
find . -name "*.log"
查找所有 .log 文件
find . -name "file*"
查找 file 开头的文件
find /var/log -name "*.gz"
在指定目录查找
find . -maxdepth 2 -name "*.log"
限制搜索深度为 2 层(-mindepth 设最小深度)

按类型查找 By Type 5

find . -type f
只查找普通文件
find . -type d
只查找目录
find . -type l
只查找符号链接
find . -type f -name "*.sh"
查找 .sh 文件
find . ! -type d
排除目录(查找非目录)

按大小查找 By Size 5

find . -size +100M
查找大于 100MB 的文件
find . -size -1k
查找小于 1KB 的文件
find . -empty
查找空文件或空目录
find . -size 0
查找大小为 0 的文件
find . -size +10M -size -100M
查找 10MB 到 100MB 之间的文件

按时间查找 By Time 5

find . -mtime -7
查找 7 天内修改过的文件
find . -mtime +30
查找 30 天前修改的文件
find . -mmin -60
查找 60 分钟内修改的文件
find . -atime -1
查找 1 天内访问过的文件
find . -newer file.txt
查找比 file.txt 更新的文件

按权限查找 By Permission 4

find . -perm 755
查找权限恰好为 755 的文件
find . -perm -u+x
查找用户有执行权限的文件
find . -perm /o+w
查找其他人有写权限的文件
find . -perm -g=w
查找组有写权限的文件

按用户查找 By Owner 5

find . -user tom
查找指定用户拥有的文件
find . -group dev
查找指定组的文件
find . -uid 1000
按 UID 查找
find . -nouser
查找无所有者的文件(用户已删除)
find . -nogroup
查找无所属组的文件

执行操作 Actions 7

find . -name "*.tmp" -delete
删除匹配的文件
find . -name "*.sh" -exec chmod +x {} \;
对每个文件执行命令
find . -name "*.log" -exec rm {} +
批量执行命令(更高效)
find . -name "*.txt" -print
打印匹配的文件路径
find . -name "*.bak" -ok rm {} \;
执行前逐个确认
find . -name node_modules -prune -o -name "*.js" -print
排除目录后继续查找(-prune 剪枝)
find . -type f -exec ls -lh {} + | sort -k5 -rh
按大小排序

💡 Tips

  • find 默认递归查找当前目录及子目录,用 -maxdepth 1 限制只查当前目录。
  • -exec 用 {} 代表找到的文件,\; 表示每个文件执行一次,+ 表示批量执行。
  • 删除文件前先用 -print 确认匹配结果,避免误删。