Français
Inodes, symlinks, directories, grep — a well-kept corpus and a well-kept filesystem are the same virtue in two materials.essai · standmeet2026.10.07 · essai
2026.10.07·lecture de 3 min#agent-os

Everything Is a File

Inodes, symlinks, directories, grep — a well-kept corpus and a well-kept filesystem are the same virtue in two materials.

一切皆文件

Unix 最安静的设计决定是拒绝特例:设备、套接字、文档一律呈现为文件,因为一套关于命名、权限与组合的模型,胜过五套更聪明的。个人 corpus 用不同的名词做了同一个拒绝。一切皆笔记:知识、草稿、记录、规则——一种对象,一种命名方式,一种链接方式,一种检索方式。

这组对应一旦去看,完整得令人尴尬。一条笔记有一个独立于它挂在哪棵树上的稳定身份——那就是 inode,条目 id 是它的编号。标题和位置是目录项:指向事物的名字,可以有多个名字,没有一个名字是事物本身。从一条笔记指向另一条的 链接 是符号链接——按名引用、遍历时解析、目标被删后可以悬空,而在一个硬删除的 corpus 里,这不是边角情况,是政策。体裁是目录层级的纪律:不是拥有内容的文件夹,而是一套"什么东西住在哪里"的约定,任何遍历这棵树的工具都读得懂。而不带语义索引的检索——全文搜索、词项匹配、链接遍历——是长大成人的 grep 和 find:没有神谕,只有对实际写下来的东西做快速而诚实的搜索。

文件系统教的,超出词汇表,是克制。文件之间互不知晓;它们之间的链接活在名字和引用里,不活在一个必须被查询世界才成立的中央图数据库里。这样建的 corpus 退化得很优雅:把笔记导出,你失去的只有便利,因为知识本来就在文件和它们的链接里,不在平台里。平台是一个有主见的文件系统驱动。

这份纪律也反过来咬人。文件系统学会了害怕巨型目录和不可搜索的堆积;一个几千条笔记的 corpus 会在同样的规模上得同样的病——所以层级、链接和 grep 必须是一等公民,而不是功能。本系列开篇说:资源变了,问题没变。到这一篇,主张可以更强一点:有时候连工件都没变。一个打理得好的 corpus 和一个打理得好的文件系统,是同一种美德在两种材料里的样子——一切有名字,一切可达,一切不魔法。

demandez à l'IA à propos de ce essai·contexte : « everything is a file »
›