Linux的趣味冷知识

Linux的趣味冷知识

如果你在Linux终端里输入sudo rm -rf / --no-preserve-root,系统会彻底自毁,连急救的机会都不给。但你知道吗,这个全世界最严谨、最强大的操作系统,名字差点儿叫“洗衣粉”?

一、Linux差点不叫Linux

1991年,21岁的芬兰大学生Linus Torvalds在Usenet新闻组上发了一条不起眼的消息,说自己正在搞一个操作系统的“业余爱好”,规模远不如GNU那么庞大和专业。当时他根本没想到,这个“业余项目”后来会驱动全球90%的云服务器、100%的超级计算机、所有安卓手机,甚至国际空间站。

更有趣的是,Linus最初想给这个内核取的名字是“Freax”——由“free”、“freak”和Unix的“x”组合而成,意为“自由的怪胎”。他觉得用自己名字命名“Linus‘s Unix”太自恋了。

然而,管理FTP服务器的同事Ari Lemmke觉得“Freax”实在太难听,在没有征得Linus同意的情况下,直接把上传目录重命名为“Linux”。这个名字一用就是三十多年。想象一下,如果Ari Lemmke没有“自作主张”,今天我们可能都在用“Freax系统”,敲着“Freax命令”——听起来是不是像某种洗衣粉品牌?

二、Linus Torvalds:一个你想象不到的“怪咖”

如果你以为写出Linux内核的人是个西装革履的技术高管,那就大错特错了。

Linus上中学时数学超级好,却不解风情到了极致。 有女生找他补数学,暗示说“想养大型宠物”(在芬兰文化里是调情的意思),他完全没听明白,一本正经地跟人家讨论起了养狗的技术细节。

他的妈妈对儿子的评价堪称经典: “他从小就很好养,只要把他和一台电脑关进一间小黑屋,再时不时扔点儿面条进去就行。”

他11岁就开始编程了。 外公买了一台Commodore VIC-20电脑,但用惯了纸笔不习惯敲键盘,于是把外孙抱到膝盖上,让他帮忙输入BASIC程序。Linus很快就超越外公,写出了人生第一个程序——无限循环显示“HELLO”。后来他把“HELLO”改成“SARAH IS THE BEST”,满屏幕夸妹妹,成功赢得了妹妹的感动。

他还拒绝过乔布斯。 2000年,乔布斯亲自邀请Linus到苹果总部,希望他加入Mac OS X的开发,条件是“停止在Linux上的开发”。Linus拒绝了。试想如果他答应了,今天的Android和iOS可能都出自同一人之手。

他的车牌写着“极客之王”。 成名后的Linus开着一辆黄色的奔驰敞篷车,车牌内容是“DAD OF 3”(3个孩子的爸爸),而车牌框架上刻着“KING OF GEEKS”(极客之王)。邻居说他开车很快——“挂好档位,然后一脚地板油,从不犹豫”。

三、企鹅吉祥物:来自一场“血腥”的邂逅

Linux的吉祥物Tux是一只胖乎乎的企鹅,但为什么偏偏是企鹅?

因为Linus小时候去动物园,被一只企鹅咬了,还因此发过烧。从此他对企鹅产生了某种复杂的感情。当开发者们讨论吉祥物时,Linus的妻子建议用企鹅,他立刻同意。

而“Tux”这个名字,来自社区成员James Hughes的建议——TUX = Torvalds UniX。更妙的是,“Tux”读起来和“Tuxedo”(燕尾服)一模一样,企鹅的黑白配色也确实像穿着一身燕尾服。

四、内核里的隐藏彩蛋

在Linux内核的reboot.h头文件中,有一串比较指令。当你反汇编SYSC_reboot内核函数时,会看到这样几个“有灵魂”的十六进制常量:

cmp DWORD PTR [ebp-0x114], 0xfee1dead  

这个常量读起来是“Feel Dead”(感觉要死了)。Linus的幽默感就在这里——如果你感觉要死了,那就重启吧。

再往下看,还有一个日期:

cmp edi, 0x28121969  

0x28121969 —— 1969年12月28日,正是Linus本人的生日。

接着还有一个:

cmp edi, 0x5121996  

1996年12月5日,这是Linus大女儿的生日。而这个女孩的来历同样浪漫——1993年Linus授课宣传Linux时,一位女学员在交作业的同时向他发出了约会邀请,后来成了他的太太,并且是六次芬兰跆拳道全国冠军。程序员追到跆拳道冠军,这大概是最硬核的爱情故事了。

Linus把家人和自己的生活态度,刻进了Linux内核最底层。每次你按下重启键,背后都是Linus在说:“我觉得我快死了,但至少我的家人和我一起活在这里。”

五、Linus的“炮轰”艺术

Linus Torvalds在技术圈还有一个响亮的名号——“暴躁老哥”。他对烂代码的容忍度为零,炮轰起来毫不留情。

最著名的“Fk you, NVIDIA”**:2012年,Linus在一次公开演讲中对着镜头竖起中指,怒喷NVIDIA对Linux驱动支持不力。这一举动反而促使NVIDIA加速了对Linux的支持。

经典语录选摘:

· 吐槽某内核补丁审查人员:“当年应当被流产掉”、“幼年时就该饿死,因为蠢得找不到奶头”。
· 吐槽GCC编译器:“老天爷,那个GCC 4.9.0编译器不应该被允许从幼儿园毕业。”
· 吐槽某段烂代码:“英语中已经没有足够的词汇表达我对这些废话的厌恶和失望”,然后直接飙了一句芬兰国骂。
· 吐槽C++:“C++真是一门很烂的语言!”——这句话他从2007年骂到现在。

不过,2018年Linus罕见地公开道歉了:“我承认很多粗暴的攻击既不专业、也没必要,尤其有时我还把技术争论变成个人恩怨……我知道这样很不好,真的非常抱歉。”他宣布暂时离开内核维护岗位,去接受“情绪管理”培训。几个月后他回归了,脾气确实温和了不少——但内核代码的质量标准一点没降。

六、全世界姓Torvalds的人都和Linus是亲戚

Linus的姓氏“Torvalds”非常罕见,全世界只有大约30个人姓这个姓,而且全都有血缘关系。

这个姓的原始拼写是“Torvald”,指雷神托尔的领地。Linus的祖父在末尾加了个“s”,让发音听起来更圆润。而“Linus”这个名字取自诺贝尔化学奖与和平奖双料得主Linus Pauling——似乎从一开始,这个名字就注定要和“改变世界”联系在一起。

七、Linux发行版的那些神奇命名

  1. Ubuntu:来自非洲的人道主义

Ubuntu来自南非祖鲁语和科萨语,意思是“人道待人”或“天下共享的信念,连接起每个人”。更妙的是,每个Ubuntu版本都以“形容词+动物”命名,比如:

· Warty Warthog(多疣的疣猪)——首个版本
· Breezy Badger(活泼的獾)
· Lucid Lynx(清醒的猞猁)
· Focal Fossa(焦点的马岛獴)

整个Ubuntu的版本历史就像一个“动物形容词词典”。

  1. Debian:最深情的命名

Debian由创始人Ian Murdock的名字和他当时的女友(后来的妻子)Debra的名字组合而成——Debra + Ian = Debian。这大概是开源界最深情的命名了。

  1. Red Hat:帽子里的故事

Red Hat的创始人Marc Ewing在大学实验室时,总戴着一顶红色的棒球帽,同学有问题就喊“找那个戴红帽子的人”。公司成立后,这个名字被沿用,而Logo就是那顶红帽子。

  1. Gentoo:游泳最快的企鹅

Gentoo是一种体形小巧的企鹅,据说是企鹅中游泳速度最快的一种——暗示Gentoo Linux经过高度优化、运行飞快。

八、那些会“吓死人”的趣味命令

Linux终端里还藏着不少程序员们开的玩笑:

· sl:输入ls时手滑打成sl,会有一辆蒸汽火车从屏幕右侧缓缓驶过。据说这是为了“惩罚”那些经常打错字的程序员。
· cmatrix:运行后终端会显示类似《黑客帝国》的绿色代码雨效果,让人瞬间觉得自己在“黑”进五角大楼。
· cowsay:让一头ASCII牛说出你输入的任何话——比如cowsay “Hello Linux”。
· fortune:每次运行随机显示一句名言、笑话或哲言。

还有一个午夜彩蛋:在半夜12:30,在大多数发行版上输入man命令,可能会看到奇怪的东西。具体是什么?自己去试试吧——如果还醒着的话。

九、关于Linux的几个冷知识

2021年,不到1%的Linux内核是Linus自己写的。 他早已从“写代码的人”变成了“看代码的人”,主要工作是阅读邮件、合并补丁、确保代码质量。第一个Linux内核只有10,250行代码、占用65KB;而今天,内核代码超过2,700万行,来自1,500多家公司的20,000多名贡献者。

Linux被所有主要太空计划使用,NASA和ESA都在用。还有两颗小行星以“Linux”和“Linus Torvalds”命名。

Linux社区极其活跃,在高峰期平均每小时有7.8个补丁被合并进内核。

Linus还发明了Git。 因为Linux内核开发需要版本控制工具,他不满意当时的选项,于是花了两周写出了Git。如今Git已成为全球最流行的版本控制系统。

微软从“死敌”变成了贡献者。 90年代微软曾试图“熄灭”Linux,但如今却在服务器业务上使用Linux,甚至为内核开发做出贡献。

十、为什么叫Unix?——祖师爷的趣事

Linux的“祖师爷”Unix,诞生于1969年,起因完全是Ken Thompson想在他那台老旧的PDP-7电脑上玩一款名为“Space Travel”的游戏。结果游戏没玩成,却意外催生了一个改变世界的操作系统。

最初这个系统叫“Unics”——对贝尔实验室之前那个庞大而复杂的Multics系统的戏仿,意为“阉割版的Multics”。后来才演变成“Unix”。所以,Unix的诞生本质上是一个程序员为了玩游戏而“顺手”写出来的——Linux作为它的“精神后裔”,继承的不只是代码,还有这种“玩出来的伟大”的基因。


看完这些,下次你在终端里敲下ls或sudo reboot时,会不会对这台黑色屏幕多了一份亲切感?

Linux从来不只是代码。它是Linus在芬兰小黑屋里敲下的每一行字符,是全世界20,000名贡献者凌晨三点提交的补丁,是那只咬了Linus一口的企鹅,是刻在内核深处的“Feel Dead”,是Debian创始人用爱人的名字书写的深情,也是每一个用户终端里那列缓缓驶过的火车。

这个系统的灵魂,从来都是有温度的。