☰
fd 10.5.0 命令行文件搜索实测:find 的现代替代,七条命令覆盖九成场景
2026/10/15 4:01:25 网站建设 项目流程

在命令行里找文件,Unix 世界的标准答案是 find——但它的语法三十多年没怎么变过:find . -name "*.py"这样带引号的写法,每次都要想一下。fd 是用 Rust 重写的现代替代品(sharkdp 出品,bat 的作者),语法直觉、默认智能忽略、原生正则、彩色输出。本文结合 10.5.0 版讲清楚它解决什么问题、怎么快速上手。

一、find 的三个老问题,fd 逐一对应

问题一:语法繁琐。find 的过滤条件全是谓词参数,找一个 py 文件要写find . -name "*.py",fd 只需要fd -e py。问题二:扫到不该扫的目录。find 默认遍历一切,node_modules 和 .git 一扫就是几万个文件,要自己写 -prune 排除;fd 默认尊重 .gitignore 和隐藏文件,fd 关键词直接就是干净结果。问题三:正则弱。find 的 -regex 是可选开关且默认基础正则,fd 的模式参数天生就是正则。

对比表一目了然:

场景findfd
搜 py 文件find . -name "*.py"fd -e py
忽略 node_modules自己写 -prune默认忽略
大小写不敏感-iname自动智能大小写
找到并执行-exec … ;-x 命令 {}

二、它在命令行工具生态里的位置

fd 所在的「Rust 重写 Unix 老工具」阵营这两年非常活跃(bat、ripgrep、eza、sd 都是这个阵营的明星),社区热度上 fd 稳居第一梯队(GitHub star,2026-10-12 API 实抓):

ripgrep 负责按内容搜,fd 负责按文件名搜,两者配合基本覆盖了命令行搜索的全部场景。

三、高频用法速查

七个命令覆盖九成场景,照着敲一遍就学会了:

两个进阶技巧值得单独说:fd -t f -x wc -l {}里的 -x 是批量执行,{} 是占位符,相当于把 xargs 的活干了且不用管道;配合 fzf(fd | fzf)可以把搜索结果变成交互式选择列表,选中直接打开——这是 Everything 的命令行形态,服务器和 WSL 里尤其顺手。

四、Windows 上的安装与验证

本包收录官方 GitHub Release 的 x64 zip(10.5.0),单文件 fd.exe,解压放进 PATH 目录即可。验证与基本使用:

fd--version# 应输出 fd 10.5.0fd readme# 当前目录递归搜文件名含 readmefd-emd# 所有 markdown 文件

与 Everything 的关系:Everything 是 GUI 全盘索引工具,秒搜全盘但只限图形界面;fd 是命令行工具,不建索引、即开即搜,适合脚本、SSH 会话、管道组合。两者不冲突,是互补关系。

五、协议与包说明## 五、为什么值得换

有人会问:find 已经无处不在,学一套新工具值得吗?fd 的答案在于「默认值的设计」。工具的日常成本不在功能上限,而在每次使用时的心智负担:find 每次都要写谓词、转义、排除规则,fd 把这些全部变成合理默认——名字参数就是正则、gitignore 自动尊重、输出天然可管道。工具作者 sharkdp 是 bat(带语法高亮的 cat 替代品)的作者,对「现代 CLI 工具该有的默认行为」有一套完整的方法论,fd 与 bat 一脉相承。从 Windows 视角补充一句:PowerShell 的 Get-ChildItem 递归搜索性能一般,fd 的单文件 exe 在 Windows 上反而更顺手。

六、协议与包说明

fd 采用 Apache-2.0/MIT 双协议,可自由分发与商用。本包为官方 Release 原包(GitHub 直连慢的地区收录),教程文档一份,覆盖命令对照表、fzf 组合与 Windows PATH 配置。

资源

本篇配套的单文件程序与速查教程已上架 CSDN 下载频道:
fd 10.5.0 命令行文件搜索工具 Windows x64 官方版 find 现代替代 Everything 替代
(https://download.csdn.net/download/achuxin123/93685101)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询