ref: http://www.cnblogs.com/jiangjh/archive/2011/06/27/2091164.html#commentform
入门篇
《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编程、能配置简单的服务,清楚各类服务相关的配置文件的位置, 中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。 高级: 上面这些书单中,是我们公司一个玩Kernel的牛人开出的。 |
4 |
linux业内有句话,《深》为纲、《情》为目。情指的是情景分析,一本经典读物。情景分析很难,本身也需要读者有一定的天赋。不建议linux初学者阅读,很容易迷失方向。本身这本书更多是当你遇到问题的时候,希望能深入的探究缘由,读其中的某个章节。
|
linux的四库全书 1. LINUX内核设计与实现 Edition2 2. Linux设备驱动 Edition3 3. LINUX内核源代码情景分析 4. 深入理解LINUX内核(第三版) 以上号称 Linux Kernel 四库全书,呵呵. 入门的话看 LINUX内核设计与实现 Edition 2 应用程序开发 |