您的位置:首页 > 运维架构 > Linux

关于学习Linux的书籍

2010-11-07 20:50 387 查看
Linux并不是一个比windows更神秘的系统.

是的Linux没有MSDN,但Linux和相关软件的文档绝对不比MSDN要少

记得,一个看官方网站的文档,一个google.我想,大多问题都会解决的.剩下的就靠

你动手解决了.

linux入门:

没有发现什么比较好的入门书,要么太古老,要么照顾太多的放行版本,导致没有什么

实际用处.实际上,参考发行版的说明文档和使用手册往往是最好的入门书籍.这里面

也有一个关于学习linux的方法: 刚开始学的时候没有必要经常换发行版,往往学好一个

之后,其他的都不难了.

比如,你用redhat,去 http://www.redhat.com/docs/manuals/
找资料吧

用debian的,去 http://www.debian.org/doc/

台湾有一个<鸟哥的linux私房菜>,也是不错的,如果你讨厌英文的话.不过版本稍旧

网址是 http://linux.vbird.org/
也有中文书出版了

IBM的developer works也是一个好去处

http://www.ibm.com/developerworks/cn/index.html

再顺便说说Unix/BSD的入门书籍.

FreeBSD:

<FreeBSD使用大全> <FreeBSD Handbook> 有什么理由不看的么?

前者是一个中国FB大牛写的,后者是FreeBSD的官方文档,也有中文翻译了

http://www.freebsd.org

http://www.freebsdchina.org

Solaris:

sun的培训文档就是最好的入门书籍.推荐看英文的,中文翻译不怎么样

入门的3本是 SA239 SA299 SA399

HPUX:

HP-UX System and Network Administration V1 V2

HP-UX System and Network Fundermental

其实Sun和hp的文档都非常齐全,去官方网去看吧

http://docs.sun.com/app/docs

http://docs.hp.com/

系统编程:

系统编程的入门书籍依旧是APUE这本圣经

Advanced Programming in the UNIX Environment (unix环境高级编程)

这本书可以说自Steven写出来后,一直被誉为Unix编程入门必看书籍.你去看看Unix新闻



的FAQ,里面多次提到这本书说什么什么.

英文版已经出到第三版,中文版出到了第二版.不过差别不大

如果想继续深入,那么steven的两本

Unix Network Programming V1 V2

也不可以错过.别被名字欺骗了,第一卷的是老老实实的网络编程,但涉及到的IO模型分析



是相当精辟.第二卷其实是Unix IPC的详细介绍,做系统编程怎么可能没有IPC呢?最简单



pipe都属于IPC的内容.据说这套书应该是3卷的,可是斯人已逝,谁能再续写下去不清楚了

这两本书也有中文版,不过估计不好找了.

多线程总是一个惹麻烦的地方,但又是不可避免的:

Programming with POSIX(R) Threads

此书是Dave Butenhof写,是DEC的一个资深工程师,也是pthreads规范的起草人之一

这本书对pthreads可以说详尽的描述,尤其其他书比较少涉及到的多线程和信号混用

的问题.

glibc在unix/linux上几乎是标配,所以libc的文档也不可少:

http://www.gnu.org/software/libc/manual ... index.html

gcc也要学的:

http://www.gnu.org/software/gcc/onlinedocs/

gdb也是不可少的:

http://www.gnu.org/software/gdb/documentation/

还有一个是make:

<跟我一起写Makefile>

不知道哪里找? google之

记得随时要请教man,没有比这个更顺手的文档了,既然你装了linux,为什么不用呢?

vim和emacs是一定要学其中之一的,参考O'REILLY的相关书籍即可

perl么,O'REILLY的大骆驼小骆驼书就足够了

python么,<learning python> <dive into python>以及官方教程就足够

sh编程? 入门书很多,区别不大. 但是bash的深入可以参考下面这本

Advanced Bash-Scripting Guide http://www.tldp.org/LDP/abs/html/

内核:

1) Bach, Maurice. the Design of Unix Operating System

2) M. McKusick and G. Neville-Neil. the Design and Implementation of FreeBSD

Operating System

3) J. Mauro and R. McDougall. Solaris Internals: Core Kernel Architecture

4) C. Cooper and C.Moore. HP-UX 11i Internals

5) Vahalia, Uresh. Unix Internals: The New Frontiers

6) Schimmel, Curt. Unix Systems for Modern Architectures: Symmetric

Multiprocessing and Caching for Kernel Programmers.

7) A. Rubini and J. Corbet. Linux Device Drivers

8) D.Mosberger and S.Eranian. IA-64 Linux Kernel: Design and Implementation

9) R. Love. Linux Kernel Development

10) M. Cesati and Daniel P. Bovet. Understanding the Linux Kernel

其中1,2,5,6,7,8,9,10都有中文版

这些书都是关于Unix和类Unix系统的

1是关于Unix的基础教科书

2的前版是关于4.4BSD的,新版论述FreeBSD5的新进展,这本和9一起对比着看很有意思

9是关于Linux2.4/2.6的概略论述(第一版是2.4,第二版是2.6),入门看会比较轻松

3是关于Solaris的。涉及到商业系统的书总归比较少,而solaris的实现是非常稳定

高效的,了解solaris会有不少收获。本书第一版是关于solaris7/8,第二版(刚出版)

关于solaris9/10

4只听说过,没看过。。现在HPUX越来越少用了,而且用起来很不爽。。

5这本强烈推荐,书中涉及到各种版本的Unix,一本读完,各种Unix的优缺点都心中有数

了。 缺点就是太老了点,也没听说有新版本要出来。此书中文版翻译不错。不过估计

没得卖了。。

6是专门论述SMP的,有需要的人看看吧

7这本已经出了3版了。第二版是2.4,第三版式2.6的,各取所需得看吧

8如果你想了解一下怎么从x86转移到其他架构上,看看不错

10一本砖头书,与9比就是太详细,适合入门之后的精通

关于Linux的几本书,看书顺序应该是9->7->10

--

void life(){

int ret;

while( (ret = fork()) < 0);

if(0==ret) life(); else exit(0);

}

※ 来源:·饮水思源 bbs.sjtu.edu.cn·[FROM: 202.22.249.237]

看了另一个贴,也不错的,

学习LINUX的建议书籍
2009-03-24 06:15

成为一名精通 Linux

程序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的
1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9
倍。同时数据显示,随着工作经验的增长, Linux 程序员与 Windows 程序员的收入差距还有扩大的趋势。Denis 认为,要学好
Linux 环境下的编程,关键是要看对、选对、学会正确的书籍。可以说,如果你选对了 Linux编程的经典书籍

配合你在程序设计工作中的刻苦钻研,成为一名精通 Linux
程序设计的高级程序员并非一件可望不可及的事情。但如果各位程序员朋友没有选对正确的书籍,则你的职业生涯之路就可能面临坎坷。今天,水煮鱼向各位朋友推
荐的这些书,有的是资深老前辈们当初向水煮鱼的推荐,还有的是 IBM 的内部培训指定参考书,它们都很值得各位朋友抽空认真一读。

为什么要学习 Linux 环境下的编程

Linux

一个开放、灵活、跨平台的操作系统,上至庞大的数据中心,下至可放于掌心中的嵌入式设备,无处没有 Linux 的身影。更为重要的是, Linux
是一个与 Unix 既一脉相承又与时俱进的系统。可以说,上世纪70年代学习的 Unix 知识和技巧,在今天仍然大有用武之地,这与 Windows
平台的开发形成了鲜明的对比。程序员不用担心今天微软出一个 .net,明天又出一个 F#,使得自己过去学习的成果付之东流。

上个星期,水煮鱼与一位 Linux 项目经理聊天过程中,这位 Linux 项目经理告诉水煮鱼,他们项目的利润非常高,急需具备一定
Linux 编程知识的程序员。他说:“其实我们对程序员的编程技巧要求也并非很高,这是可以在工作中培训和提高的,关键是很多程序员连基本的
Linux 编程思想都不了解,我怎么聘用他们呢?我们去大学招聘的时候,给本科应届生开出 8000
元的月薪,但是就是很难招到人。我拿一些经典书籍中一些经典例子来考他们,他们基本上都是一问三不知。其实,如果他们能回答上一半的问题,我还是很愿意考
虑是否聘用他们的。而对于项目相关部分的专业知识,我们有专业的内部培训,并不担心这个问题,关键是看应聘者是否具备 Linux 编程的基本思想。”

水煮鱼认为,这位项目经理朋友提到的问题还是很有代表性的。其实很多程序员朋友,只要能掌握这些书中的基础知识,是很容易脱颖而出的。事实上,项目经理他们也都很忙,并没有空去自己设计高难度的面试题目,而是直接采用经典书籍中的经典例子。

《UNIX环境高级编程》(第2版),史蒂文斯著



《UNIX环境高级编程》,推荐指数:★★★★★
在当当购买
| 在卓越购买

《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux
程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux
编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux
网络通信。对于初学者,如果你能将《操作系统》这门课程结合着这本书来学习,试着用 Linux
程序实践《操作系统》这门书中讲的进程间通信、进程调度、进程同步等内容,相信这将是一个一举两得的事情。哦,忘了告诉大家,上次 CNN 采访
Google 总裁佩林的时候,水煮鱼看到佩林的书架上就有这本书的英文版,可见它真的是一本全球开发者必备的一本书。

《深入理解 Linux 内核》(第三版) ,博韦等著



《深入理解 Linux 内核》,推荐指数:★★★★
在当当购买
| 在卓越购买

学习 Linux ,就要学习 Linux 的精华。而 Linux 的精华,则在于 Linux 的内核。《深入理解 Linux
内核》就是一本辅助学习 Linux 内核的经典书籍。有的初学者,在没有人指导的情况下,就钻入 Linux
Kernel代码的海洋中埋头苦学,结果学了半天仍然是一头雾水。当然了,在大师指导下学习就不一样了。本书以最新的 Linux 2.6
版架构为基础,分门别类地向初学者介绍了 Linux 内核的架构、编程思想、以及功能模块。相信你在本书的指导下学习,对于你读懂 Linux
操作系统的精华部分,会取得事半功倍的效果。事实上,不少知名公司招聘的题目里面,很多就出自这本书,可见它真的是论述 Linux 内核的经典书籍。

《Linux 设备驱动程序》,科波特著



《Linux 设备驱动程序》,推荐指数:★★★
在当当购买
| 在卓越购买

程序开发,高薪在 Linux ; Linux 程序员,高薪在驱动开发。可以说,水煮鱼见过的 Linux
驱动程序员,薪水在万元以下的,一个都没有。普遍观点认为, Linux 驱动开发很难学,这并不正确。初学者认为 Linux
驱动开发很难学,关键在于其没有选对正确的入门书籍。《 Linux 设备驱动程序》这本书,过去已经有多位 Linux
项目经理向水煮鱼推荐过,你要想学MOD编程,想挑战高薪职位,这本书读一读是很有必要的。当然,这本书不是一本针对初学者的书籍,初学者应首先学习前面
提到的《UNIX环境高级编程》再看这本书,你才能真正的学懂学好 Linux 驱动开发。

《嵌入式 Linux 应用开发完全手册》,韦东山著



《嵌入式 Linux 应用开发完全手册》,推荐指数:★★★
在当当购买
| 在卓越购买

要说 Linux 应用最广泛的地方,那一定是无处不在的嵌入式设备了,《嵌入式 Linux 应用开发完全手册》就是一本教会您怎样开发
Linux
嵌入式系统软件的一本好书。水煮鱼与本书作者韦东山老师曾有过一面之缘,当时韦老师正在写作这本书。这本书综合了常见的嵌入式开发经验技巧,以及常见的嵌
入式系统应用,系统移植,调试及异常处理等,内容非常丰富,是中文 Linux
领域难得的一本好书。嵌入式处理器种类繁多,韦老师着重讲了目前国内最常用的ARM系统,实用性很强,是国内嵌入式程序员不容错过的一本工具书。

《人月神话》(32周年中文纪念版),布鲁克斯著



《人月神话》,推荐指数:★★★★★
在当当购买
| 在卓越购买

水煮鱼上面为大家推荐了几本 Linux
编程经典书籍,但要问编程的最终目的是什么,那一定还是要应用到实际项目中。做项目,那就一定离不开《人月神话》这本书。《人月神话》的作者布鲁克斯,是

水煮鱼所在公司的超级大牛人,也是图灵奖的获得者。去年,他到中国访问的时候曾经表示,《人月神话》这本书,浓缩了项目实践中的正反两方面经验,是项目经
理和系统分析师必读的一本书。水煮鱼认为,各位年轻的朋友,最终还是会要管项目的,与其你临时再学习,还不如早点接触这方面的知识比较好。可以
说,Linux 的项目,对开发者的要求都很高,大家不要去跟 Windows
程序员学一些不好的习惯,特别是项目实施方面的一些不好的习惯,而应该深入体会大师的书籍。目前,《人月神话》的32周年纪念版已经上市了,有志于成为项
目经理和产品经理的人,不应该错过这本做项目的圣经。

总结

古人云:“生而知之者,上也;学而知之者,次也;困而学之,又其次也;困而不学,民斯为下矣。”水煮鱼认为,正如古人所言,对于成功的 Linux
程序员,勤奋苦读的结果,将为您的 Linux 学习之路锦上添花。对于还没有入门的投资者,尽快熟读一两本入门的 Linux
书籍,对于你少走弯路是很重要的。对于已经进入项目,但还不能熟练掌握 Linux
开发的程序员,越早补习自己缺乏的东西,您将越早受益。对于基础薄弱,又拒绝学习的程序员,或许“民斯为下矣”就将是您惨淡的结局。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐