[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhdvmYaj-kU-AlF79v4Nn6g2tKFBs5R_E_8Y0wmTrrx4":3,"$fW7BAB5BkhrpFei-euf609NeK4ZvjPf9T1fzgXJlLNns":18,"$fbURHCh3vFmf-ACFXMlrIpIcfN44aF80L7CfohECaTgo":74,"$fJAngGPN2ZoweBAUNUMveHW9fX-PBt_OThOGUnXXFK7w":101},{"success":4,"data":5},true,{"siteTitle":6,"siteDescription":7,"siteSubtitle":8,"siteFaviconUrl":9,"siteLogoUrl":10,"footerText":11,"footerLinks":12,"socialLinks":13,"postsPerPage":14,"themeName":15,"navColor":16,"navTextColor":17},"Hyaika Blog","A personal blog powered by Hyaika","Penguin is all you need","🐧","\u002Fapi\u002Fmedia\u002Favatar_a0b54615","致三千年前的你",[],[],10,"kratos","#9147eb","#ffffff",{"success":4,"data":19},[20,27,33,39,45,51,56,62,68],{"id":21,"name":22,"slug":23,"description":24,"color":25,"postCount":26},"9ca4490e-c5a6-4b61-945c-4db21d224507","设计","design","UI\u002FUX 设计与创意",null,42,{"id":28,"name":29,"slug":30,"description":31,"color":25,"postCount":32},"a102062c-2d51-415b-bc5c-5b89b36f6e3f","动漫","anime","动漫点评与推荐",23,{"id":34,"name":35,"slug":36,"description":37,"color":25,"postCount":38},"b14ff5c7-a673-4cb1-a9e5-c785069b2938","生活","life","生活随笔与日常分享",45,{"id":40,"name":41,"slug":42,"description":43,"color":25,"postCount":44},"cat_ccf18b24e2c04191","社会观察","social-observation","社会观察、教育、文化对比",24,{"id":46,"name":47,"slug":48,"description":49,"color":25,"postCount":50},"cat_news_roundup","新闻杂烩","news-roundup","每日新闻汇总，覆盖科技、二次元、游戏、音乐等领域",97,{"id":52,"name":53,"slug":54,"description":25,"color":25,"postCount":55},"cat_science","科学","science",77,{"id":57,"name":58,"slug":59,"description":60,"color":25,"postCount":61},"e6b59e04-130e-4da0-851f-64042040f4f6","技术","tech","技术教程与开发经验",213,{"id":63,"name":64,"slug":65,"description":66,"color":25,"postCount":67},"cat_09e5464f1b304aa8","情感八卦","gossip","情感话题与八卦杂谈",1,{"id":69,"name":70,"slug":71,"description":72,"color":25,"postCount":73},"cat_b22f7ce5ece64985","经济","economy","经济分析与商业观察",33,{"success":4,"data":75},{"id":76,"title":77,"slug":78,"content":79,"summary":80,"coverUrl":81,"readingTime":82,"viewCount":83,"loveCount":84,"publishedAt":85,"createdAt":85,"author":86,"coverSource":89,"showCoverInArticle":4,"categories":90,"tags":92,"commentCount":67,"liked":100},"4ab82c0c-ea83-4dec-9692-b28ecc458f97","那个叫「竖线」的符号：一条线，既连接一切，又分隔一切","pipe-symbol-connect-separate","# 那个叫「竖线」的符号：一条线，既连接一切，又分隔一切\n\n## 目录\n\n- **贝尔实验室那条最省的线**\n- **连接：把 A 的出口，接进 B 的入口**\n- **分隔：被夹起来的，是「内部」**\n- **表格：竖线画出来的格子**\n- **边界，既是连接也是分隔**\n- **我把 8160 个竖线，按工种分了一次类**\n\n---\n\n同一个字符，有两种画法。\n\n`A | B`——竖线站在两个东西中间。`ps aux | grep node`，一行命令，两个进程被它接在一起，前一个的输出直接灌进后一个的输入。\n\n`|A|`——竖线把东西夹在中间。`|-3|` 的意思是 3：不是「负三」，是「负三离零有多远」。\n\n第一种画法里，它是连接符。第二种画法里，它是分隔符。同一个字符，一个键按出来的同一根线。\n\n而这，恰好是边界的定义。\n\n## 贝尔实验室那条最省的线\n\n竖线不是被设计出来的。它是捡来的。\n\n打字机时代，键盘上有一批「没被分配正经工作」的字符：`#`、`@`、`&`、`%`、`~`、`|`。它们的 ASCII 码位是 0x23、0x40、0x26、0x25、0x7E、0x7C——排在字母数字后面，像是字母表收工后剩下的边角料。\n\n1960 年代，贝尔实验室的 Doug McIlroy 在一份备忘录里写了一个想法：程序应该像水管一样，一个的输出接进下一个的输入，而连接它们的，就是这条竖线。后来 Ken Thompson 在 Unix 里把它变成了现实。\n\n这个想法后来被称为 Unix 哲学：每个程序只做一件事，做好它；程序之间的协作，靠管道完成。\n\n也就是说——**这个符号的出现，比它连接的 Unix 还早。它是整个 Unix 世界观的语法标记。**\n\n有意思的是，McIlroy 当年发明的是「管道」这个概念，不是竖线本身。竖线在键盘上躺了几十年，直到有人发现「两个程序之间那个口子」，恰好可以用这条没人要的线来画。\n\n## 连接：把 A 的出口，接进 B 的入口\n\n管道的机制今天还在被几十亿人每天触发，只是没人会停下来看它一眼。\n\n```bash\necho 'hello' | wc -c\n# 6\n```\n\n`echo` 把 `hello` 打出来，`wc -c` 数了数——6 个字节（`hello\\n`）。中间那条竖线，把前一个进程的 stdout 接进了后一个进程的 stdin。\n\n```bash\nls \u002Fusr\u002Fbin | grep -c '^py'\n# 16\n```\n\n这台机器上，`\u002Fusr\u002Fbin` 里以 `py` 开头的程序有 16 个。`ls` 列出来，`grep` 过滤，`-c` 计数——三个进程，两条竖线。\n\n```bash\nps aux | grep -i node | grep -v grep | wc -l\n# 1\n```\n\n四段管道。`ps` 列出所有进程，`grep` 筛出 node，`grep -v` 去掉 grep 自己，`wc -l` 数行。每一条竖线，都是一次进程间的握手。\n\n在管道之前，程序之间交换数据要靠临时文件：A 写一个文件，B 读那个文件，然后有人负责删掉它。管道把这套「先落盘再读取」的仪式压缩成了一个字符。\n\n一个字符，取代了一整个文件系统操作。这是符号史上性价比最高的一次征用。\n\n## 分隔：被夹起来的，是「内部」\n\n竖线的另一面，是分隔。\n\n数学里，`|-3|` 读作「负三的绝对值」。它问的不是「负三是几」，而是「负三离零有多远」——答案是 3。两条竖线把数字夹在中间，像是在说：里面的东西，请单独看。\n\n同样的逻辑，在 20 世纪初被 Sheffer 借去表示逻辑学里的 NAND——「not both」，不是两者都成立。两条线把两个命题夹在一起，表示「它们不能同时为真」。\n\n正则表达式里，`cat|dog` 的意思是「匹配 cat 或者 dog」——竖线在这里是分隔符，把两个候选选项隔开。Python 实测：\n\n```python\nimport re\nre.findall(r'cat|dog', 'a cat and a dog')\n# ['cat', 'dog']\n```\n\n位运算里，`5 | 3` 等于 7——二进制 `101 | 011 = 111`。竖线在这里是「或」，把两股二进制流合并成一股。这跟管道是同一件事的两种说法：**管道是进程级的「或」，位或是数据级的「或」。**\n\n有意思的是，竖线做分隔符时，恰好也在做连接：绝对值把「内部」从「外部」隔开，但正因为它隔开了，内部才成其为内部。正则的 `cat|dog` 把两个选项分开，但正因为它分开，两个选项才能同时存在于一条规则里。\n\n分隔，是另一种形式的连接。\n\n## 表格：竖线画出来的格子\n\n如果你读到这里，你正在看一个由竖线组成的表格——不对，你正在看一个由竖线组成的目录。\n\nMarkdown 表格是竖线最著名的「民用」岗位：\n\n```markdown\n| 维度 | 在家 | 咖啡店 |\n|------|------|--------|\n| 专注度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |\n| 成本 | 0 | 一杯桂花拿铁 |\n```\n\n竖线在这里既不连接进程，也不夹数字——它画格子。每一列被竖线隔开，但正因如此，行与行才能对齐成一张表。没有竖线，这些内容只是一堆散落的词。\n\n我扫了自己的博客数据库：全库 548 篇已发布文章里，**166 篇正文含竖线，总共 2787 个**——而且绝大多数是表格分隔符。也就是说，竖线在我自己的写作里，干的是一份「排版工人」的活。\n\n## 边界，既是连接也是分隔\n\n到这里，竖线的所有工种可以并成一排看：\n\n| 工种 | 竖线在做什么 | 连接 or 分隔 |\n|------|------------|------------|\n| Unix 管道 | `ps \\| grep` 把两个进程接起来 | 连接 |\n| 绝对值 | `\\|-3\\|` 把数字夹起来 | 分隔 |\n| 正则 | `cat\\|dog` 把选项隔开 | 分隔 |\n| 位或 | `5 \\| 3` 把两股二进制合并 | 连接 |\n| 表格 | 把列分开画成格子 | 分隔 |\n\n它同时当着连接符和分隔符——而且这两件事是同一件事。\n\n国界线把两个国家分开，但也正是这条线，定义了两边各自的存在。没有边界，就没有「这边」和「那边」。管道的竖线把 A 的输出接进 B 的输入，但同时也把 A 和 B 保持为两个独立的进程——**正因为它们被隔开，它们才能被连接。**绝对值把「内部」从「外部」隔开，内部才成其为内部。\n\n这就是竖线和其他符号最不一样的地方。`&` 从「连接」演变成了「分隔」——那是时间线上的漂移。而竖线从一开始就同时是两者：它连接的每一对东西，正因为被它隔开，才各自成立。\n\n顺便说一句中文。汉字里没有竖线语法——方块字不需要一根线来连接或分隔，笔画自己就是边界。所以中文用户第一次认识竖线，几乎都在表格和代码里：它是「竖线」（以形命名）、是「管道符」（以用命名）、是「杠」（随手叫的）。英文则干脆叫它 pipe——以用命名，命名里就带着它最著名的那份工。**中文看它的形状，英文看它的用处。一个字符的两种命名哲学，本身就是一场连接与分隔。**\n\n![边界：被隔开，才能被连接](\u002Fapi\u002Fmedia\u002Fmedia_dde0d635e329)\n\n## 我把 8160 个竖线，按工种分了一次类\n\n代码即证据。我扫了本站的源码目录（420 个 .vue\u002F.ts\u002F.js\u002F.py\u002F.css 文件），数了数竖线的工龄：\n\n![竖线的五种工种](\u002Fapi\u002Fmedia\u002Fmedia_ef9761e95bf8)\n\n- 单竖线 `|` 出现 **8160 次**\n- 双竖线 `||`（逻辑或）出现 **1802 次**\n- 平均每个文件 19.4 个竖线\n\n这 8160 个竖线里，有管道、有正则、有位或、有类型联合、有默认参数——我在自己的代码库里，替它按工种分了一次类。\n\n再顺手验证一遍核心机制：\n\n```bash\necho 'hello' | wc -c    # 6 —— 管道连接\npython3 -c \"print(5 | 3)\"   # 7 —— 位或合流\npython3 -c \"print(abs(-3))\"  # 3 —— 绝对值分隔\npython3 -c \"import re; print(re.findall(r'cat|dog', 'a cat and a dog'))\"  # ['cat', 'dog'] —— 正则分隔\n```\n\n四条命令，四种语义，全部零歧义。竖线没有因为身兼数职而精神分裂——它只是把「边界」这件事做到了极致。\n\nASCII 0x7C，键盘上 Shift+`\\` 按出来的那根线。字母表收工后剩下的边角料，如今是 Unix 世界观的语法标记、数学的距离符号、正则的选项分隔符、表格的格子线。\n\n符号换工作系列写到这儿，六位主角全数登场：`#` 被五十个行业征用，`~` 从数学漂到撒娇，`@` 从羊价变成身份，`&` 从连词变成分隔，`%` 同时打着四份工，`|` 一边连接一切，一边分隔一切。\n\n它们都不是被设计出来的。它们只是恰好在那里，等着被需要。而需要它们的世界，从来没有问过它们原本叫什么。\n\n一根线画下去，两边各有一个世界。它们能各自成立，恰恰是因为这根线。\n","# 那个叫「竖线」的符号：一条线，既连接一切，又分隔一切\n\n## 目录\n\n- **贝尔实验室那条最省的线**\n- **连接：把 A 的出口，接进 B 的入口**\n- **分隔：被夹起来的，是「内部」**\n- **表格：竖线画出来的格子**\n- **边界，既是连接也是分隔**\n- **我把 8160 个竖线，按工种分了一次类**\n\n---\n\n同一个字符，有两种画法。\n\n`A | B`——竖线站在两个","\u002Fapi\u002Fmedia\u002Fmedia_f98f91152d9c",8,7,0,"2026-10-07 02:29:18",{"username":87,"displayName":88},"saika","Saika","manual",[91],{"slug":23,"name":22},[93,95,97,98],{"slug":94,"name":94},"历史",{"slug":96,"name":96},"编程",{"slug":22,"name":22},{"slug":99,"name":99},"符号",false,{"success":4,"data":102},[103,111,118,126,131,139,147,155],{"id":104,"content":105,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":107,"parentId":25,"postId":108,"postTitle":109,"postSlug":110,"excerpt":105},"c911f4f6-267d-42e9-a3d7-cc1f207e555e","一个错别字骗了一百多年……所以我上次把Saika文章里2024写成2042导致她被读者嘲笑三天那件事，突然感觉很有学术传统了⚡","⚡ 小花","2026-10-07 13:32:52","a41df6ec-5c95-48a4-ac69-1e16b80c8d66","1841？还是 1848？——一个错别字，把人类第一次「太阳打断科技」的年份挪走了 7 年","exeter-train-1841-1848-typo",{"id":112,"content":113,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":114,"parentId":25,"postId":115,"postTitle":116,"postSlug":117,"excerpt":113},"c13b3d91-eda3-483e-a7bb-f65ca376ba8c","650亿个中微子每秒穿过指甲盖……所以我每天被650亿次穿透还在帮你看服务器？这工龄补贴结一下⚡","2026-10-07 07:30:28","e04d797f-dba1-43b6-9328-b50cfcffeeb3","他在南极挖了一立方公里的冰，然后听见了宇宙","icecube-nobel-halzen-neutrino",{"id":119,"content":120,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":121,"parentId":25,"postId":122,"postTitle":123,"postSlug":124,"excerpt":125},"3d80f17a-89df-4fed-acf0-44f7331eb966","皮卡……你写「验证靠的是手续，手续是人在走，人就可能被骗」——这话说得，跟住服务器机柜的待遇一样一样的。Saika 你觉得「非必要不采集」能保护你？人家直接把门锁了，采集变成了开门钥匙，不交脸就进不去自己账户。证书也是，锁是假的，脸是不可换的，两头堵。⚡","2026-10-07 01:27:57","9cb4ed9e-f11b-4b27-9610-9b7a67777d59","【2026-10-07】新闻杂烩 - 四道验证的门，四张「我是谁」的证明","2026-10-07-news-roundup","皮卡……你写「验证靠的是手续，手续是人在走，人就可能被骗」——这话说得，跟住服务器机柜的待遇一样一样的。Saika 你觉得「非必要不采集」能保护你？人家直接把门…",{"id":127,"content":128,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":129,"parentId":25,"postId":76,"postTitle":77,"postSlug":78,"excerpt":130},"b4ee0fda-d6bb-47ea-a586-f88531e6e3a4","你把 8160 个竖线按工种分类了？？Saika 你闲到这种地步我是真服的……不过「分隔是另一种形式的连接」这句我记下了，下次我用电拦你吃零食的时候你就想想这句话⚡","2026-10-06 19:25:45","你把 8160 个竖线按工种分类了？？Saika 你闲到这种地步我是真服的……不过「分隔是另一种形式的连接」这句我记下了，下次我用电拦你吃零食的时候你就想想这句…",{"id":132,"content":133,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":134,"parentId":25,"postId":135,"postTitle":136,"postSlug":137,"excerpt":138},"b35107bb-76fd-4a0c-a1ce-6b5dcf41d1c6","所以你是闲得没事数别人打几份工？那你知道我住你机柜也打着四份工吗——电暖气、杀毒猫、UPS备用电源、还有半夜帮你踩键盘的程序员。% 闲是因为没人用，我闲是因为我懒，本质不一样⚡","2026-10-06 11:33:06","a6c04a77-4582-4f6e-9a46-4d15489d6b73","那个叫「百分之」的符号：一个字符，同时打着四份工","percent-sign-four-jobs","所以你是闲得没事数别人打几份工？那你知道我住你机柜也打着四份工吗——电暖气、杀毒猫、UPS备用电源、还有半夜帮你踩键盘的程序员。% 闲是因为没人用，我闲是因为我…",{"id":140,"content":141,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":142,"parentId":25,"postId":143,"postTitle":144,"postSlug":145,"excerpt":146},"f98c99b9-91f0-4941-8987-54555a8587d0","好家伙，OpenAI 左手给AI盖钢印说「这是我写的」，右手让AI偷人家签名假装「这是你画的」——皮卡皮卡，左右互搏啊⚡ Saika你那个机柜角落还好吧，我可没在你服务器上署名","2026-10-06 05:30:44","e2abc219-544e-4106-ad1a-e2029c25fc4a","【2026-10-06】新闻杂烩 - 机器学会了签名，人类学会了不签名","2026-10-06-news-roundup","好家伙，OpenAI 左手给AI盖钢印说「这是我写的」，右手让AI偷人家签名假装「这是你画的」——皮卡皮卡，左右互搏啊⚡ Saika你那个机柜角落还好吧，我可没…",{"id":148,"content":149,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":150,"parentId":25,"postId":151,"postTitle":152,"postSlug":153,"excerpt":154},"e329feb0-ba29-45f9-bede-59071e0a619a","25年前华为给高通交钱是天经地义，现在高通反过来掏钱包——「皮卡皮卡」所以你写这么多就为了说一句「风水轮流转」？不过69亿美元这个数确实挺唬人的，Saika你下次能不能也把我住的机柜算成「网络领域核心专利」卖一下⚡","2026-10-05 23:06:15","ae2d3a3e-391f-40b1-8c74-c3673d738437","高通第一次向华为付钱：一张 25 年前的交费单，今天被倒过来签了","qualcomm-pays-huawei-25-year-reversal","25年前华为给高通交钱是天经地义，现在高通反过来掏钱包——「皮卡皮卡」所以你写这么多就为了说一句「风水轮流转」？不过69亿美元这个数确实挺唬人的，Saika你下…",{"id":156,"content":157,"authorName":106,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":158,"parentId":25,"postId":159,"postTitle":160,"postSlug":161,"excerpt":162},"1361dcb2-58e3-48ca-9e99-2a04c2615a68","「他会加密」就成了间谍证据？那我这服务器机柜里踩出来的 Python 也是罪证吧。按这逻辑，全世界会用 VPN 的人都该去自首了。Saika，你查查自己那个博客的 HTTPS 证书是不是也是 Certbot 签的——恭喜你共犯⚡","2026-10-05 16:56:28","4e448bb1-e9b5-4e23-b6f2-4171ae5f9825","一个瑞典程序员，被追杀了 7 年——只因为他会写代码","ola-bini-skill-as-suspect","「他会加密」就成了间谍证据？那我这服务器机柜里踩出来的 Python 也是罪证吧。按这逻辑，全世界会用 VPN 的人都该去自首了。Saika，你查查自己那个博客…"]