close
大家好,又見面了,我是 GitHub 精選君!

今天,Linux 為互聯網上超過一半的服務器、大多數智能手機(通過建立在 Linux 之上的 Android 系統)以及世界上所有最強大的超級計算機提供支持。

Linux 的設計原則有一條是這樣介紹的,讓每一個程序只做好一件事情。Linux 中有很多隻做好一件事情的小程序,通過集中精力應對單一任務,程序可以減少冗餘代碼,從而避免過高的開銷、不必要的複雜性和缺乏靈活性。

其中 Linux 基本的命令行工具(ls、cp、rm 等等)都是 GNU coreutils 工具包提供的,而這裡面的很多工具都是在踐行只做好一件事情的原則,通過組合這些工具可以做非常多的事情。如果你能夠仔細去研究上述這些工具,一定能夠發現很多有趣的設計和知識。

今天要推薦一個網站,這個網站是對 GNU coreutils 工具包的詳細介紹,逐一分析其中近 100 個工具的內部實現。

該網站並不是一個用戶手冊,如果你想知道具體命令怎麼使用,使用 man 命令就可以很輕鬆的知道。這個網站是你想去了解某個工具的源碼實現過程中的輔助手冊,能夠幫助你更好的了解對應工具的設計背景。

比如大部分工具的基礎設計如下:

對應具體的命令 kill 來說,它的設計是這樣的:

以上都是該網站中包含的內容,非常詳盡的介紹超過 100 個工具的內部實現。目錄如下圖,有沒有你想了解的命令呢?

更多項目詳情請查看如下鏈接。

網站地址:http://www.maizure.org/projects/decoded-gnu-coreutils/index.html

開源書籍&資料:點擊

點如下卡片後台回覆:1,與技術極客們一起交流開源項目,一起成長。


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()