工具与资源github.com
fd:简单、快速、易用的 find 替代品
fd: A simple, fast and user-friendly alternative to 'find'
2017 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
fd 是一个用 Rust 编写的命令行文件查找工具,定位为经典 find 命令的简单、快速且用户友好的替代品。它语法直观、默认行为合理、速度快,多年来多次登上 Hacker News 首页,是“现代 Unix 工具替代品”浪潮中的代表项目之一。
为什么经久不衰:它以更友好的默认值和语法解决了 find 难记难用的问题,且持续维护多年,是现代命令行工具生态的入门代表,今天依然值得尝试。
HN 评论精选
呼吁建立一个现代 Unix 工具替代品的合集生态
要是能有一个现代/更快/更合理的常用 Unix 工具替代品合集就好了(用 Rust 写与否无所谓),让它成为标准——至少能方便地装在 Linux 发行版和 OS X 上。不是要取代原工具,而是作为补充。我想到了 fd 以及:ripgrep(grep 替代)、xsv(CSV 工具)、exa(ls 替代)、una(多压缩格式工具封装)、tokei(代码行数统计),当然还有 coreutils 的 Rust 重写版 uutils。
coldtea查看英文原文
It would be nice to have a collection of modern/faster/saner alternatives to common unix tools and such utilities (made in rust or not) that becomes standard -- or at least easily installable in linux distros and OS X. Not for replacing those tools, but for supplementing them. Thinking of stuff like fd and: ripgrep: https://github.com/BurntSushi/ripgrep (grep/ag alt) xsv: https://github.com/BurntSushi/xsv (csv tool) exa: https://the.exa.website/ (ls) una: https://github.com/jwiegley/una (multi-compression utils wrapper) tokei: https://github.com/Aaronepower/tokei (loc stats) And of course this: https://github.com/uutils/coreutils
认为 fd 缺少关键功能,不配称为 find 的替代品
抱歉唱个反调——我肯定属于边缘用户——但这并不是 find 的替代品。它更像编辑器模糊查找的替代品,或是 shell 通配符的增强版。缺少 -delete、-execdir、-mtime,也无法串联多个模式来处理非平凡用例,这意味着在日常真正使用 find 的场景里它几乎没用。更别提它“有主见”地忽略一组动态的文件和目录(跳过了哪些文件?在哪些目录?会不会向上找 git 目录和 .gitignore?会不会查询 git?是否尊重用户/全局的 .gitignore?在 Unix 提示符下会不会跳过 Windows 隐藏文件?),这些选项还藏在两个不同的标志后面。也许只是我用惯了 find,但每次用它都是因为需要 -delete 或 -execdir,或者写自动化脚本需要 -mtime 和模式串联。所以建议别把它称作 find 的替代品;它不是。替代 shell 通配符可以,替代编辑器里糟糕的文件查找也行,就是替代不了 find。
falcolas查看英文原文
I'm sorry to be something of a negative Nancy - and I'm sure I'm a corner case - but this is not really an alternative to find. It's an alternative for your editor's fuzzy find and a better version of shell globs. The absense of -delete, -execdir, -mtime, and the ability to chain multiple patterns together for the non-trivial use-cases, means this is practically useless in most places where `find` is used in day-to-day work. Not to mention the "opinionated" choice to ignore a dynamic set of files and directories (what files were skipped? In any directory, or just git repos? Does it back track to find a git directory and .gitignore? Does it query out to git? Does it respect user/global .gitignore settings? Does it skip Windows hidden files from a unix prompt, or a dotted file when on Windows?), the options hidden behind two separate flags. Perhaps it's just because I'm used to using 'find', but when I reach for it, it's because I need -delete or -execdir, or I'm writing automation that really needs -mtime and chained patterns. So, I would suggest that you don't call this an alternative to find; it's not. A replacement for shell globs, sure. A replacement for poor file finding in text editors, OK. Just... not find. EDIT: Oh, 'fd' also already exists. https://github.com/knu/FDclone
承认功能更少但默认设计出色,用起来省心
我同意那些说它不是即插即用替代品的人(功能更少、语法不同),但我完全不在乎。fd 的默认设计简洁出色、非常合理。我当然会用 find,但每次都得查示例;而 fd 简单到我很快就能靠试错上手。而且它确实很快。谢谢 sharkdp,做得真好。
fuzzygroup查看英文原文
Yes I'll agree with the people who say that this isn't a drop in replacement (fewer features and different syntax) but I also just don't care. fd's defaults are brilliantly simple and just plain make sense. Yes I can use find but I always, always end up looking up an example. fd was simple enough that I very quickly figured it out by trial and error. And it really is fast. Thank you sharkdp -- really nicely done. Appreciated.
指出 fd 不支持 -exec,无法满足核心用例
我用 find 的主要场景不只是找文件,而是通过 -exec 对找到的文件执行操作。除非我漏看了什么,这个工具不支持这个。
josteink查看英文原文
My main usecase for find is not only finding files, but to do actions on them through -exec. Unless I’m missing something, that’s not supported with this tool.
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com