記得 2006 年 chroot/Hacks in Taiwan Conference 的發起人 timshu 曾經出版過一書 《Linux C函式庫詳解辭典》,這本書含括了超過 400 個函式,成為許多 Linux 軟體開發者的參考手邊書。
雖然 Linux/Unix 系統上有相當多的參考文件,只要你知道該問什麼問題,都可以找到答案。但是線上手冊 (man pages, info)常缺乏系統式的整理,新手頗難入手。且 man pages 有時言簡意賅,缺乏範例程式,往往不容易閱讀。因此像是《Linux C函式庫詳解辭典》便極有參考價值。
類似的系統 API 書籍還有 Robert Love 的 Linux System Programming: Talking Directly to the Kernel and C Library。rlove 的書對於各系統層廣度足夠,可惜深度不足,書中充滿提示,你得有足夠的背景知識纔全然理解他所要傳達的資訊,而具體的實務應用資訊也不足,無法用來當作字典臨時查詢需要的 API 與範例。
2010 年十月,Michael Kerrisk 發表了 TLPI – The Linux Programming Interface,Michael Kerrisk 是 Linux man-pages Project 的維護者,文件維護者出書其份量與內容勢必可觀,TLPI 內容超過 1500 頁、超過 60 個章節、超過 200 個範例,內容除了含括 POSIX.1-2001/SUSv3 與 POSIX.1-2008/SUSv4 外,也包含了許多 Linux 獨有的特色,對於跨 UNIX 作業系統移植性亦有著墨,相對於 Richard Stevens 與 Stephen A. Rago 的 Advanced Programming in the UNIX Environment ,圖表與內容均不遜色,且每個章節都至少有一題練習題。
值得一提的是,TLPI 除了介紹 system calls 外,文中也試著說明 2.4.x. 到 2.6.x (2.6.34) 間核心變動對於系統的影響。
推薦 Linux 軟體開發者備妥一本作為案頭書。