首页 > 代码库 > Linux经典书籍推荐

Linux经典书籍推荐

入门篇 
《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux 。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。

驱动 篇 
《LINUX设备驱动程序 》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码 分析比较多,基于2440的,对linux外围驱动有很全面的讲解

内核篇 
浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX内核完全剖析--基于0.12内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。

shell篇 
《LINUX与UNIX Shell编程指南》

应用 编程 
不用说了肯定是《unix环境高级编程》被称为unix编程的圣经。

TCP/IP篇 
《TCP/IP详解》作者W.Richard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。

c语言 
《The C Programming Language》正是作者造出来的c语言,书能垃圾就怪了
《c和指针》和《c缺陷和陷阱》两本必备。包含了c语言最容易出错的地方,加深c语言功力的好材料。
关于算法 
《算法导论》

——————————————————————————————————————————

 
Linux操作系统主要就是一些配置文件和一些命令行工具,要掌握操作系统的主要目录结构和配置文件,运用系统的命令行工具完成常规的操作系统维护工作,监控工作。进而你可以安装部署一些企业应用,进行监控、管理等等。 

把/etc目录下面常用的配置你都搞懂,把 /bin /sbin /usr/bin /usr/sbin下面常用的命令搞懂 会用shell编写常规的维护脚本 

这样你已经非常厉害了。
 

2  
linux 命令必须很熟悉,对find.sed,awk必须更熟悉,会正则。
了解unix编程,编译,知道gnu下的很多著名软件并会用。
example:m4,automake,autoconfig,binutils,gcc,...
能熟练试用vi,熟悉makefile...
可能的话掌握一种xwin开发方式gtk,qt等。
搞明白文件系统,能掌握50%以上/dev下设备干吗用的,并会用。
能知道/var下都有哪些重要东西。
熟悉/etc下的配置,了解常见的服务的配置
example:
squid,apache,natd,named,ftpd,sshd,xinetd
知道启动的时候unix按哪些顺序启动,并配置服务
C语言。
知道怎么安装软件
不仅仅是pkg_add,rpm,
知道怎样监控进程,网络
知道怎么追踪core
这些都熟悉了,基本算unix初通了,能做个unix初级使用者
 

   
看你想达到什么层次了,我个人的理解是: 

初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置, 
能看懂并可修改系统提供的配置脚本(/etc/*.*) 
推荐书籍: 
《鸟哥的私房菜基础篇、高级篇》 
《Advanced Bash Shell》 

中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。 
推荐书籍: 
《The C Programming Language》 
《Unix环境高级编程》 
《Linux程序设计》 
《TCP/IP协议详解卷一》 
《Unix网络高级编程》 

高级: 
《Linux Device Driver》 
《深入理解Linux内核》 
《深入理解计算机系统》 
《深入理解LINUX网络内幕》 

上面这些书单中,是我们公司一个玩Kernel的牛人开出的。 
任何知识的学习都不是一蹴而就的,需要反复实践,反复理解。 
祝你成功!
 

4  
linux业内有句话,《深》为纲、《情》为目。情指的是情景分析,一本经典读物。情景分析很难,本身也需要读者有一定的天赋。不建议linux初学者阅读,很容易迷失方向。本身这本书更多是当你遇到问题的时候,希望能深入的探究缘由,读其中的某个章节。
 

   linux的四库全书
1.          LINUX内核设计与实现      Edition2     
2.          Linux设备驱动      Edition3 
3.          LINUX内核源代码情景分析     
4.          深入理解LINUX内核(第三版)    
以上号称      Linux      Kernel      四库全书,呵呵. 
入门的话看 LINUX内核设计与实现      Edition 2 

应用程序开发
<Advanced Programming in the Unix Environment> 
查看代码的话,使用Source Insight 3.5