“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
fd
fd — 一个比 find 快 10 倍的跨平台文件搜索工具,让你告别慢吞吞的搜索体验。
如果你还在用 find 命令搜文件,每次看着它慢慢遍历整个目录树,然后吐出一堆你根本不想看的结果——那我强烈建议你试试 fd。它不是 find 的平替,而是那种“用了就回不去”的工具。
我最早接触 fd 是因为在项目里搜文件实在太痛苦了。find . -name "*.py" 基本能用,但速度慢、语法奇葩(-name 后面要加引号,-type f 要分开写),而且默认还会搜隐藏目录。后来同事扔了一句“试试 fd”,我试完之后直接删掉了脑子里的 find 记忆。
fd 到底干了什么?
fd 本质是一个 Rust 写的文件搜索工具,设计目标是“比 find 更快、更友好”。它解决的核心问题有三个:
- 慢:
find是单线程遍历,fd利用 Rust 的并发和现代文件系统特性,速度能快 5-10 倍。实测在一个 10 万文件的 node_modules 目录里搜东西,fd基本秒出,find要等两三秒。 - 语法反人类:
find的参数设计源自 70 年代,fd的语法更接近直觉。比如搜所有 Python 文件,fd -e py就行了,不用写-name "*.py"。 - 结果太乱:
find默认把隐藏文件、.git目录、二进制文件全给你列出来,而fd默认忽略这些,只给你看真正关心的东西。
简单说,fd 就是“给现代开发者用的 find”,特别适合在大型代码库、项目目录、或者乱七八糟的下载文件夹里快速定位文件。
下载方式
官网下载 是最直接的,GitHub release 页面提供了各平台的二进制包。
不过我更推荐直接用包管理器安装,因为 fd 更新挺频繁的,手动下载替换太麻烦。
安装方法
macOS
brew install fd
如果你用 MacPorts:
sudo port install fd
Linux
Ubuntu/Debian(22.04+ 官方源已收录):
sudo apt install fd-find
注意:Ubuntu 里安装后命令是 fdfind,因为和另一个工具冲突。你可以加个 alias:
echo "alias fd=fdfind" >> ~/.bashrc
source ~/.bashrc
Fedora:
sudo dnf install fd-find
Arch Linux:
sudo pacman -S fd
Alpine Linux:
apk add fd
Windows
用 Scoop:
scoop install fd
或者 Chocolatey:
choco install fd
Windows 用户也可以直接下载 exe 放到 PATH 里。
验证安装
fd --version
如果输出类似 fd 10.2.0 就对了。
基础使用教程
1. 最简单的搜索
在当前目录下搜包含“test”的文件:
fd test
注意:fd 默认是模糊匹配,不是精确匹配。所以 fd test 会匹配 test.py、testing.md、atest.txt 等。如果你想要精确匹配文件名,用 -g 或正则。
2. 按扩展名搜
搜所有 Markdown 文件:
fd -e md
搜图片(多个扩展名):
fd -e png -e jpg -e gif
3. 搜特定目录
只在 src 目录下搜:
fd pattern src/
搜整个系统(小心,可能会慢):
fd pattern /
4. 忽略大小写
fd -i ReadMe
这样能搜到 README.md、readme.txt 等。
5. 只搜文件或只搜目录
只搜文件:
fd -t f pattern
只搜目录:
fd -t d pattern
6. 配合 xargs 或 exec 执行操作
搜到所有 .log 文件并删除:
fd -e log -X rm
-X 是 fd 的批量执行模式,会把所有结果一次性传给后面的命令。如果是单文件操作,用 -x:
fd -e py -x wc -l {}
这会统计每个 Python 文件的行数,{} 代表当前文件名。
7. 显示详细信息
fd -l pattern
相当于 ls -l 风格,显示权限、大小、修改时间。
进阶技巧
1. 用正则表达式搜
fd 默认用正则模式(如果你给的 pattern 含有特殊字符)。比如搜所有以 config 开头、扩展名为 .json 或 .yaml 的文件:
fd '^config\.(json|yaml)$'
2. 自定义忽略规则
fd 默认忽略 .gitignore 里的文件,以及隐藏目录(以 . 开头的)。但你可以手动控制:
不忽略隐藏文件:
fd -H pattern
不忽略 .gitignore 规则:
fd --no-ignore pattern
只搜隐藏文件:
fd -H -t f '^\.'
3. 限制搜索深度
在大目录里快速定位:
fd -d 3 pattern
只搜当前目录和一级子目录。
4. 按文件大小搜
搜大于 100MB 的文件:
fd -S +100M -t f
搜小于 1KB 的文件:
fd -S -1k -t f
5. 按修改时间搜
搜最近 7 天内修改过的 Python 文件:
fd -e py --changed-within 7d
搜超过 30 天没修改的日志文件:
fd -e log --changed-before 30d
6. 输出格式控制
用 --format 自定义输出,比如只显示文件名(不带路径):
fd pattern --format '{/}'
只显示相对路径(去掉当前目录前缀):
fd pattern --format '{.}'
7. 彩色输出与别名
fd 默认有颜色,但如果你想要更花哨的,可以设置 LS_COLORS。不过大多数人够用了。
我自己的 .bashrc 里加了这个 alias:
alias fdd='fd -t d' # 只搜目录
alias fdf='fd -t f' # 只搜文件
alias fdr='fd -H' # 包括隐藏文件
8. 在 Vim/Neovim 里用 fd
如果你用 fzf.vim 或 telescope.nvim,可以配置它们用 fd 替代 find 作为后端,速度提升很明显。比如在 .vimrc 里:
let $FZF_DEFAULT_COMMAND = 'fd --type f --hidden --follow --exclude .git'
这样 :Files 就快得像闪电了。
9. 与 bat 组合预览
fd 搜到文件后,配合 bat(带语法高亮的 cat)预览内容:
fd -e py -x bat --style=numbers {}
或者用 fzf 交互式搜索,选中后用 bat 预览:
fd --type f | fzf --preview 'bat --color=always {}'
最后说两句
fd 是我日常用最频繁的工具之一,几乎每天都要用几十次。它没有 ripgrep 那种“搜索内容”的功能(那是 rg 的活),但在“搜文件名”这个领域,它就是最快的。
如果你还在用 find 或者 Mac 的 mdfind,花 5 分钟装个 fd,然后试一下 fd -e md,你会回来感谢我的。
对了,fd 和 fdfind 是两个不同的包,Ubuntu 用户注意区分。如果遇到 command not found,先检查一下是不是装成了 fdfind 但没设置 alias。
最后,记住这个命令就够了:
fd [pattern] [path]
三个字母,一秒出结果。