Fd Find

📂 极速文件搜索,直觉语法

Rust 编写的高性能 find 替代品,智能默认、尊重 gitignore、并行遍历,让文件搜索快如闪电。

收藏
11.6k
安装
3.4k
版本
1.0.0
CLS 安全性认证2026-05-20
点击查看完整报告 >

使用说明

fd-find 综合评估

核心用法

fdfind 命令的现代替代品,用 Rust 编写,专注于可用性优先的设计哲学。最基础用法极简:fd pattern 即可递归搜索,无需指定路径或文件名通配符。核心设计亮点包括:

  • 智能大小写:全小写输入自动不区分大小写,含大写则区分
  • 默认尊重 .gitignore:自动跳过被忽略的文件,保持结果干净
  • 隐式通配符fd foo 等价于 find -name '*foo*',无需手动包裹
  • 并行遍历:自动利用多核加速

显著优点

1. 速度优势:Rust + 并行遍历,大型代码库中通常比 find 快 5-10 倍
2. 语法直觉-e py 选扩展名、-t d 选目录、-x cmd 执行命令,学习曲线几乎为零

3. 现代功能内置:时间过滤(--changed-within)、大小过滤(--size)、null 分隔输出(-0)均为原生支持,无需 find 的复杂 -mtime 计算

4. 工具链整合:与 fzfbatripgrep 等现代 CLI 工具配合默契

局限性与风险

  • 非 POSIX 兼容:脚本移植性受限,服务器环境可能未预装
  • 功能边界:不支持 find-execdir、复杂权限匹配、inode 级操作
  • 隐藏/忽略文件陷阱:默认跳过 .gitignore 内容可能导致遗漏目标,需显式 -I 覆盖

适合人群

  • 开发者日常代码库导航
  • 需要高频文件搜索的 DevOps/SRE
  • 现代终端工作流用户(配合 fzf、bat 等)

安全风险

二进制仅执行文件搜索,无网络/系统调用,风险极低。需注意 -x rm 等破坏性命令的误用,建议先用 -x echo 预览。

安全解读

核心用法

fd-find 是对经典 find 命令的现代重构,主打简单语法、智能默认、极速搜索三大特性。基础用法极其直观:直接输入 fd 文件名 即可递归搜索,无需记忆 -name-type 等冗长参数。

显著优点

1. 智能默认:自动忽略 .gitignore 中的内容,默认隐藏 dotfiles,搜索更干净;大小写智能识别(全小写自动不区分大小写)
2. 性能优异:采用 Rust 编写,并行遍历目录,实测比传统 find 快数倍

3. 语法友好:支持直观 glob 模式(-g "*.py")、多扩展名(-e py -e js)、时间/大小过滤(--size +10m

4. 集成能力强-x 参数支持对结果批量执行命令,天然适配 fzfripgrepxargs 等工具链

潜在局限

  • 功能边界:专注文件名匹配,不包含 find-exec 完整 Shell 语法或权限/属主过滤
  • Linux 预装:多数系统需手动安装(通过 brewapt install fd-find),包名偶有混淆
  • 正则差异:默认使用 Rust regex,与 POSIX BRE/ERE 有细微差别,复杂表达式需适应

适合人群

  • 日常需要频繁查找文件的开发者、运维工程师
  • 追求工具链现代化的命令行重度用户
  • find 语法感到繁琐,希望"所见即所得"的新手友好型用户

常规风险

  • 批量执行风险-x rm {} 等操作具有破坏性,建议先用 -l 预览结果
  • 隐藏文件漏检:默认忽略隐藏文件和 gitignore 内容,关键系统文件搜索需显式添加 -H -I
  • 扩展名匹配精度-e 按扩展名匹配,对无扩展名或复合扩展名(如 tar.gz)需用 -g 模式

来源基于 sharkdp/fd 官方仓库(36k+ stars),MIT 协议,属 T1 级别可信来源。

Fd Find 内容

手动下载zip · 1.8 kB
SKILL.mdtext/markdown
请选择文件