原文地址www.cnblogs.com/wwang/archive/2011/01/27/1944406.htmlhtml
工做几年来,一直从事Linux内核驱动方面的开发。从接触Linux到如今,读过很多Linux方面的书籍,现把认为很不错的一部分列出来和你们分享一下。linux
入门类
一直认为,在一个系统上学习开发以前,首先须要熟悉这个系统的使用。鉴于天朝的国情,绝大部分人第一个接触的操做系统就是Windows,所以对于这绝大部分人来讲,若是要学习Linux开发,学会使用这个系统都是必不可少的一个环节。
如今的Linux初学者是幸福的,随着Linux桌面环境愈来愈易用,入门一个新的系统是很是容易的事情。虽然命令行对于提升工做效率更加有 效,但咱们彻底能够把熟悉命令的过程放到平常使用中进行。不管学习什么知识,在实践中学习都是高效并且有趣的。在这个阶段,咱们也未必必定须要书籍。如今 不少Linux发行版的Wiki写得都很是详细,在使用某一种发行版时找到相应的Wiki阅读查询就能够了。并且,桌面环境变化太快,关于桌面的介绍类书 籍几乎都没有必要看,这类书籍大多刚一出版就过期了。
那入门类书籍里哪些比较有价值呢?我比较推荐涉及的技术相对比较稳定的书。好比,Linux基本的体系结构和命令通常都是经久不变的,甚至从上古时期的Unix开始就没太多变化,这类书籍讲解的知识也是之后大幅提升咱们的生产力的基础。好比《
鸟哥的Linux私房菜》,好比《
Unix Power Tools》(中译名是“UNIX超级工具”),或者是为Linux+认证考试准备的《
Linux+ Study Guide》。固然,这一类书籍其实都没必要精读,快速浏览以后做为工具书备查就能够了。
编程类
可是,APUE对于Linux编程初学者彷佛稍深了一点,并且不少细节在Linux中并不会用到。讲述Linux编程的书籍里,《
Advanced Linux Programming》应该更加适合初学者。不要被书名中的“Advanced”吓到,书里的内容仍是很容易理解的。看完这本书再看APUE应该效果会更好。
若是要开发GUI程序,上面两本书就无能为力了。在Linux世界里,最经常使用的GUI Toolkit是GTK+和QT。
内核类
对于Linux内核或者设备驱动的开发者,最全面最直接的学习资料必定是Linux内核代码及其文档。Linux内核的发布周期很短,相关书籍 的出版彻底跟不上脚步。但随着内核代码的日益庞大,学习曲线愈来愈陡峭,入门者又很是须要书籍来做为指导,这确实是很是矛盾的事情。所幸,不少Linux 内核技术做家也是很勤奋的,常常会更新本身的做品。就像Robert Love,以2.6内核为蓝本的《
Linux Kernel Development》已经更新到第三版了。LKD是很是适合内核初学者阅读的一本好书,对它的评价能够引用陈莉君老师的译者序:
相对于 Daniel P. Bovet 和 Marco Cesati 的内核巨著《 Understand the Linux Kernel 》,它少了五分细节,相对于实践经典《 Linux Device Drivers 》,它多了五分说理。能够说,本书填补了 Linux 内核理论和实践之间的鸿沟,“一桥飞架南北,天堑变通途”。
工具类
工欲善其事,必先利其器。进行Linux开发,相关工具仍是须要熟练使用的。好比,GNU Tool Chain、自动构建工具、编辑器、版本控制工具等等。
其它
除了以上几个类别,还有一些书籍值得推介。