Linux之父將愛刻進(jìn)Linux內(nèi)核代碼里
Linux的內(nèi)核主要是用C語(yǔ)言編寫的,還有少量的匯編語(yǔ)言編寫的代碼。Linux內(nèi)核由Linux之父Linus維護(hù)并定期更新發(fā)布新版本,你可以在Linux kernel的官方網(wǎng)站自由下載免費(fèi)使用。

Linux Kernel 官方網(wǎng)站
我們來(lái)看一段有意思的Linux內(nèi)核代碼,這段代碼在Linux系統(tǒng)重啟代碼reboot.h中,學(xué)過(guò)C語(yǔ)言的都知道文件名后綴為.h的文件主要是對(duì)函數(shù)的聲明和一些變量的定義。
首先我們使用curl命令來(lái)下載最新穩(wěn)定版Linux內(nèi)核:

下載完成后,使用xz和tar命令解壓縮文件名后綴為.tar.xz的Linux kernel軟件包:

解壓縮.tar.xz壓縮包
使用grep命令過(guò)濾在reboot.h中的MAGIC變量值:

使用grep命令在reboot.h中過(guò)濾MAGIC變量
使用printf命令將上面四個(gè)MAGIC變量定義的值由十六進(jìn)制轉(zhuǎn)化為十進(jìn)制:

Printf命令將16進(jìn)制變量值轉(zhuǎn)換成十進(jìn)制
轉(zhuǎn)換后的十進(jìn)制數(shù)字代表的是什么意思呢?有人已經(jīng)成功破解了這四個(gè)10進(jìn)制數(shù)字串的含義,他們分別是Linux之父Linus的生日和他三個(gè)女兒的生日。
- 28121969 ( 28-12-1969) - Birthday of Linus
- 5121996 (5-12-1996) - Birthday of Patricia Miranda, Linus’ first daughter
- 16041998 (16-04-1998) - Birthday of Daniela Yolanda, Linus’ second daughter
- 20112000 (20-11-2000) - Birthday of Celeste Amanda, Linus’ third daughter
作為L(zhǎng)inux之父,沒人愿意去反對(duì)Linus有意將自己和他三個(gè)女兒的生日寫進(jìn)Linux系統(tǒng)重啟的代碼里,每當(dāng)系統(tǒng)重啟時(shí)這四個(gè)魔術(shù)值都會(huì)被調(diào)用,如果避開這四個(gè)魔術(shù)值,系統(tǒng)將無(wú)法正常重啟,重啟就是重生。Unix之父肯•湯普森在老婆帶孩子回娘家的幾個(gè)月里,編寫了Unix內(nèi)核,兩位大神都沒有將自己的勞動(dòng)成果當(dāng)成搖錢樹,而是無(wú)私奉獻(xiàn)給了全人類,他們至今過(guò)著普通人的生活。
當(dāng)你在Linux內(nèi)核的代碼里突然看到一個(gè)父親對(duì)女兒的愛,你的內(nèi)心是否已經(jīng)被這段刻進(jìn)代碼里的愛而感動(dòng)。