不能错过的4本Linux好书

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设备驱动。


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

### Linux内核学习资源汇总 对于初学者来说,掌握Linux内核的基础知识和逐步深入的学习路径是非常重要的。以下是针对不同层次学习者的推荐资料: #### 初级阶段 在这个阶段,建议先了解操作系统基础以及Linux内核的整体框架。 - **籍推荐** - 《Linux设备驱动开发详解》由宋宝华编著[^1]是一本非常适合入门的籍,它详细介绍了Linux下的设备驱动程序开发流程及其核心概念。 - **在线文章系列** - 可以通过阅读关于`Linux 0.11`本的一系列解析来熟悉早期的操作系统设计思路[^2]。例如,“Linux 0.11 启动过程分析”,“Linux 0.11 fork 函数”等内容能够帮助构建基本的知识体系。 #### 中级阶段 当具备了一定基础知识之后,则需进一步探索具体模块和技术细节。 - **进阶读物** - 推荐《深入Linux内核架构》,该由德国作者撰写并经郭旭翻译成中文本[^1]。中不仅涵盖了理论部分还提供了大量实例用于实践操作。 - 此外,《Linux内核设计与实现》原第三也是不可错过好书之一,其作者Robert Love以其清晰易懂的语言风格闻名于世[^1]。 #### 高级阶段 达到高级水平意味着要精通各个子系统的运作机制甚至参与开源项目贡献代码。 - **专精领域文档** - 对于希望专注于网络方面的开发者而言,《深入理解Linux网络技术内幕》[(意大利) Christian Benvenuti 著]无疑是最权威的选择;而那些渴望全面剖析整个内核工作原理的人士则应考虑研习《深入理解Linux内核》第三[^1]。 - **实际应用案例研究** - 学习像Lighttpd或者NGINX这样的轻量级Web服务器源码有助于加深对高性能服务端应用程序的理解[^3]。特别是后者因其简洁高效的设计广受好评,在其中可以学到很多有关Socket编程及时序管理的经验技巧。 - **社区互动与实战演练** - 积极参与到诸如Kernel Newbies之类的国际性讨论组当中去分享心得并与同行交流想法。同时也可以尝试提交补丁至官方仓库从而获得真实世界的编码经验反馈。 ```bash # 下载最新的稳定Linux Kernel源码作为练习材料 git clone https://github.com/torvalds/linux.git cd linux make menuconfig # 使用图形界面配置选项 make -j$(nproc) # 编译内核镜像及相关组件 sudo make modules_install install # 安装新生成的模块及设置引导环境 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值