素材阁

find 命令速查

共 31 条常用的 find 与 xargs 命令,覆盖基本查找、按属性过滤、查找后操作、 条件组合与批量执行五组场景,逐条给出命令与说明。支持搜索与分类筛选,点击命令即可复制。

基本查找

按名称、类型与目录深度查找文件。

命令说明
在当前目录递归查找 .log 文件
忽略大小写查找
只找普通文件;-type d 只找目录,-type l 只找软链接
限制递归深度为 2 层
跳过起点本身,只列子目录
全盘查找并屏蔽无权限报错
排除 node_modules 再查找

按属性查找

按大小、时间、权限、属主等条件过滤。

命令说明
查找大于 100MB 的文件(-size -1k 为小于 1KB)
查找最近 7 天内修改过的文件(+30 表示 30 天前)
查找 30 天内未被访问的文件
查找比 ref.txt 更新的文件
查找所有者有执行权限的文件
查找属于指定用户的文件(-group 按组)
查找空文件或空目录

查找后操作

对匹配结果执行命令;注意 -exec 两种结尾写法的区别。

命令说明
找到后直接删除(慎用)
对每个文件各执行一次 rm
把多个文件合并成一次命令执行,更快
在所有文件里搜含 TODO 的
批量修改权限
只对目录批量改权限
处理带空格的文件名(-print0 配 xargs -0)

组合与排除

用逻辑运算组合多个条件。

命令说明
排除某类文件
或:jpg 或 png(-a 表示与)
用 \( \) 把条件分组
显式排除某路径
按绝对时间筛选(如某日期之后)

xargs 配合

把上一步的输出作为参数传给下一个命令。

命令说明
每次传 1 个参数给命令
用 {} 占位,逐行代入
并行 4 个任务执行,提速
控制每次与占位形式
按换行分隔文件名再删除

使用说明

find 与 xargs 常用命令速查:按名称、类型、大小、时间、权限查找文件,并对结果批量执行命令;支持搜索与分类筛选,点击命令即可复制。

  1. 在搜索框输入命令或用途(如 name、size、exec、xargs、删除),表格实时筛选。
  2. 按场景点分类按钮:基本查找、按属性、查找后操作、组合与排除、xargs 配合。
  3. 「命令」列可直接点击复制,粘到终端后按需替换路径与条件。
  4. 做批量删除、批量改权限前,建议先执行一次不带 -exec / -delete 的版本确认匹配结果。

常见问题

-exec 后面的 \; 和 + 有什么区别?
\; 表示对每个匹配文件各执行一次命令,遇到大量文件很慢;+ 表示把多个文件合并成一次命令执行,效率高得多。本表里两者的写法都给了。
为什么文件名带空格时 find 会出错?
用管道传递文件名时,空格会被当成分隔符。改用 -print0 配合 xargs -0(本表有示例),可正确处理后带空格或换行的文件名。
怎么排除 node_modules、.git 这类目录?
用 -path "*/node_modules/*" -prune -o ... -print,或用 -not -path 过滤。搜索代码时排除这些目录能快很多。
按时间查找的 -mtime、-atime 怎么理解?
-mtime 是文件内容最后修改时间,-atime 是最后访问时间,单位是「天」。-mtime -7 表示 7 天内改过,+30 表示 30 天前。

延伸阅读

相关工具