2010年大学毕业,在Linux下编程已三年有余了。最近看论坛上不少朋友谈论看过的编程(Linux)书籍,我感触良多。回头想想,当初那个一无所知,而且老是爱问白痴问题的自己,都想笑,如今终于入门了。再回头数数,这几年买过的关于Linux的书籍太多了:《嵌入式Linux应用开发完全手册》《Linux设备驱动开发详解》《深入理解LINUX内核》《LINUX设备驱动程序(第3版) 博韦》《unix环境高级编程》《linux编程白皮书》《unix编程艺术》《鸟哥的linux私房菜》《linux内核完全刨析-linux 0.11》《嵌入式Linux开发技术与应用》《Linux程序设计》《嵌入式Linux应用程序开发详解》《Linux网络编程》《Linux程序设计(第4版) 》、《Linux设备驱动开发详解(第2版)》《Linux命令行与shell脚本编程大全(第2版)》《嵌入式Linux开发详解:基于AT91RM9200和Linux2.6》等等,十余本。
因为我在深圳的大部分时间都是住在大剧院站附近,所以,经常去深圳书城(罗湖)看书,有时候不谦虚的说,关于Linux的书籍我几乎都翻过了。但,让大家见笑了,大多是囫囵吞枣,特别是驱动这块,不得其深解。。。。
Linux 是一个开放、灵活、跨平台的操作系统,上至庞大的数据中心,下至可放于掌心中的嵌入式设备,无处没有 Linux 的身影。我接触的关于Linux书籍中,觉得下面这四本Linux书籍值得推荐,不能错过。亲,仅仅个人观点哦。。。
1)《Linux程序设计(第4版)》
这是有两位天才:Neil Matthew 和Richard Stones,2位世界知名的Linux/UNIX专家编写的。我特别喜欢第一页上写的:站在巨人的肩上(不建议学习用,可当工具书)。
该书讲述了Linux系统及其他UNIX风格的操作系统上的程序开发,主要内容包括标准Linux C语言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库系统存储Linux中的数据,为X视窗系统建立图形化用户界面等。本书通过先介绍程序设计理论,再以适当的例子和清晰的解释来阐明它的方式,帮助读者迅速掌握相关的知识。
2)《Linux命令行与shell脚本编程大全(第2版)》
这是一本跟《Linux程序设计》一样非常perfect的书,作者是Richard Blum。除了第二页有我喜欢的:站在巨人的肩上标识外,还有个共同点:好像都比较的贵哦(屌丝都这样认为的)。我是下了血本,买了这2本正版书。
这是一本关于Linux命令行与shell脚本编程的全面教程。全书分为四部分:第一部分介绍Linuxshell命令行;第二部分介绍shell脚本编程基础;第三部分深入探讨shell脚本编程的高级内容;第四部分介绍如何在现实环境中使用shell脚本。本书不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。
3)《Linux网络编程》
这本书几乎涵盖了Linux网络相关的所有知识,我大部分朋友拥有这本书,不过,我买过几次这本书(其他的都是帮朋友买的哦),很难买到正版。但这本书还有个缺点就是有点点错误,而且印刷有点点问题,但瑕不掩瑜,好书就是好书。
该书内容分为4个部分:Linux程序设计基础部分、Linux用户空间网络编程部分、Linux内核网络编程部分以及综合案例部分。内容包含Linux系统概述、Linux编程环境、Linux文件系统简介、Linux下的进程和线程、TCP/IP协议族、应用层网络服务程序、TCP编程、主机信息获取、数据IO复用、UDP编程、高级套接字、套接字选项、原始套接字、服务器模型、IPv6、Linux内核网络部分结构及分布、netfilter框架内报文处理。为了方便读者学习,《Linux网络编程》最后一个部分介绍了3个综合案例,包括应用层的Web服务器例子、简单的应用层网络协议站例子和内核层网防火墙的例子。
4)《Linux设备驱动开发详解(第2版)》
相信很多人都看过宋宝华先生写的这本书吧,不过,是电子书吧。嗯,我也是,我很多关于驱动方面的知识都是从本书中获取的,忘了哪一天,我自己也买了一本。
该书是一本介绍linux设备驱动开发理论、框架与实例的书,本书基于ldd6410开发板,以linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和i/o映射以及异步通知、阻塞i/o、非阻塞i/o等linux设备驱动理论;字符设备、块设备、tty设备、i2c设备、lcd设备、音频设备、usb设备、网络设备、pci设备等linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了linux驱动开发的大量实例,使读者能够独立开发各类linux设备驱动。
如果要做嵌入式驱动开发,最好先熟悉《ARM嵌入式接口技术应用 》这本书,个人觉得很赞。
5)象征性总结:
要学好Linux环境下的编程,除了自己刻苦钻研+有无数热心高人悉心指点外,关键是要选对正确的书籍。可以说,如果你选对了书籍,再配合上述两项,成为一名精通Linux程序设计的高级程序员并非一件可望不可及的事情。
6)必须说明:
1.我是菜鸟,我一直在路上。
2.上述4本只是我个人觉得好的书籍,不完整,未成体系,这几本书中甚至连最为重要的构建嵌入式系统都未涉及到。
3.每个人的口味都不相同,其他书籍也非常ok,只是可能我还未领悟到其精华和用意。
4.欢迎拍砖,但别太狠,记得留口气给我。
7)附加说明:
1.感谢各位的支持,我看大家对Linux好书的愿望都比较的强烈,如果大家有什么好书也一起推荐推荐,大伙一起学习。我看了大家的评论后,我都觉得N本好书不能错过,而非4本,之前太狭隘了,惭愧啊!!!
2.如果有电子书,希望大神们能发个链接,奇文共赏!thanx for all。。。。。2013.07.04 14:31
8)附加说明2
呵呵,这段时间在忙NRF24L01无线收发器芯片,所以,到今天才有时间总结一下,从大家的评论上看,这3本书的呼声最高:
(1)《unix环境高级编程》
(2)《LINUX设备驱动程序 》
(3)《Linux内核设计与实现》
同时,个人觉得,最佳入门书籍为:《嵌入式Linux应用程序开发详解》。2013.07.11 9:23