建议学习路径:

  首先先学学编辑器,vim, emacs什么的都行。
然后学make file文件,只要知道一点就行,这样就可以准备编程序了。

  然后看看《C程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。

  如果想学习UNIX/LINUX的编程,《Advanced Programing in Unix Envirement》绝对经典的教材,加深一下功底,学习《Unix Network Programing》的第二卷。这样基本上系统方面的就可以掌握了。

  然后再看Douglus E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就 很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。
如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。

  对于几本经典教材的评价:

  《The C Programing Language》K&R 经典的C语言程序设计教材,作者是C语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一 遍,就有一遍的收获。另外也可用谭浩强的《C语言程序设计》代替。

  《Advanced Programing inUnix Envirement》 W.RichardStevens:也是非常经典的书(废话,Stevens的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix NetworkPrograming》的一本辅助资料。国内的翻译的《UNIX环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容 易。

  《Unix Network Programing》W.Richard Stevens:第一卷讲BSD Socket网络编程接口和另外一种网络编程接口的,不过现在一般都用BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和Posix线程。所以看了《APUE》以后,就可以 看它了,基本上系统的东西就由《APUE》和《UNP》vol2概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编 程的。国内是清华翻译得《Unix网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。

  《TCP/IP祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。

  《用TCP/IP进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比Stevens的那一套要好,就连Stevens也不得不承认它的第一卷非常经典。 事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师, 并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的Hacker,这些问题的答案可以象Douglus索 取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过Qterm的源代码,就会知道Qterm的telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是Stevens的《TCP/IP祥解》。

  《Operating System - Designand Implement》这个是讲操作系统的书,用Minix做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系统 设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会
有一个清晰的认识。

  《Linux Device Driver》2e ,为数不多的关于Linux设备驱动程序的好书。不过内容有些杂乱,如果您没有一些写驱动的经验,初次看会有些摸不着南北。国内翻译的是《Linux设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,http://blog.csdn.net/shanzhizi不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。

推荐《unix环境高级编程》
《linux kernel development》(中文名忘了)
《linux内核剖析》
《linux设备驱动》
《深入理解linux内核》

初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置,能看懂并可修改系统提供的配置脚本(/etc/*.*推荐书籍:《鸟哥的私房菜基础篇、高级篇》Advanced Bash Shell中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。推荐书籍:The C Programming LanguageUnix环境高级编程》Linux程序设计》TCP/IP协议详解卷一》Unix网络高级编程》高级:Linux Device Driver《深入理解Linux内核》《深入理解计算机系统》《深入理解LINUX网络内幕》

嵌入式书籍推荐Linux基础http://blog.csdn.net/shanzhizi1、《LinuxUnixShell 编程指南》C语言基础1、《C Primer Plus5thEdition》【美】Stephen Prata2、《The CProgramming Language, 2nd Edition》【美】Brian W.Kernighan David M. RithieK & R)着3、《AdvancedProgramming in the UNIX Environment2nd Edition》(APUE4、《嵌入式Linux应用程序开发详解》Linux内核1、《深入理解Linux内核》(第三版)2、《Linux内核源代码情景分析》毛德操胡希明著   研发方向1、《UNIX NetworkProgramming》(UNP2、《TCP/IP详解》3、《Linux内核编程》4、《Linux设备驱动开发》(LDD) 5、《Linux高级程序设计》杨宗德著   硬件基础1、《ARM体系结构与编程》杜春雷着2S3C2410Datasheet 
   英语基础1、《计算机与通信专业英语》   系统教程1、《嵌入式系统――体系结构、编程与设计》2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操胡希明着3、《BuildingEmbedded Linux Systems》   4、《嵌入式ARM系统原理与实例开发》杨宗德著   理论基础1、《算法导论》2、《数据结构(C语言版)》3、《计算机组织与体系结构?性能分析》4、《深入理解计算机系统》【美】RandalE. Bryant David O''Hallaron5、《操作系统:精髓与设计原理》6、《编译原理》7、《数据通信与计算机网络》8、《数据压缩原理与应用》C语言书籍推荐  1. The C programming language 《C程序设计语言》

2. Pointers on C 《C和指针》

3. C traps and pitfalls 《C陷阱与缺陷》

4. Expert C Lanuage 《专家C编程》

5. Writing Clean Code -----MicrosoftTechiniques for Developing Bug-free C Programs     《编程精粹--Microsoft 编写优质无错C程序秘诀》

6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》

7.《C语言嵌入式系统编程修炼》  8.《高质量C++/C编程指南》林锐    

 尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。

来源:http://blog.csdn.net/shanzhizi/article/details/7673033

linux C高手成长过程---书籍推荐相关推荐

  1. Linux下C高手成长过程----经典书籍推荐

    http://www.cnblogs.com/shanzhizi/archive/2012/07/10/2585357.html 转载于:https://www.cnblogs.com/thrille ...

  2. Linux网络编程必看书籍推荐

    首先要说讲述计算机网络和TCP/IP的书很多. 先要学习网络知识才谈得上编程 讲述计算机网络的最经典的当属Andrew S.Tanenbaum的<计算机网络>第五版,这本书难易适中. &l ...

  3. 一个计算机高手成长过程(转)

    这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能       够为国内IT的发展尽自己一份微薄的力量.最近看到很多学生朋友和我当年一样没有方向       ,所以把我的经 ...

  4. python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐

    原标题:Linux运维人员成长之路学习书籍推荐 一.入门书: <鸟哥的私房菜(基础篇)> <鸟哥的私房菜(服务篇)> <Linux命令行与Shell脚本编程大全(第2版) ...

  5. Linux运维人员成长之路学习书籍推荐(未删减版)

    我们的人生如游戏,每个人都扮演着不同的角色,有普通玩家.NPC.普通野怪,终极Boss,都有不同的级别之分,我们在技术方面又何尝不是呢,我们大部分人都是普通野怪,遍地都是,很容易被别人虐,没有什么特殊 ...

  6. Linux 编程经典书籍推荐

    成为一名精通 Linux 程 序设计的高级程序员一直是不少朋友孜孜以求的目标.根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍.Java 程序员的 ...

  7. linux学校_10本Linux内核书籍推荐

    时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟.高效和稳定的操作系统,因为具备跨平台.开源.支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程 ...

  8. 学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的?

    学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的? 本文内容比较长,主要包含下面几部分内容: 学习路线以及方法推荐 书单推荐 教程推荐 推荐一个学习中常看的仓库 学习/编程好习惯 面试必知 学 ...

  9. linux编程书籍推荐

    2019独角兽企业重金招聘Python工程师标准>>> Linux编程推荐书籍一览表 Linux编程推荐书籍一览表 shell 编程 <LINUX与UNIX SHELL编程指南 ...

最新文章

  1. Android UI开发第二十五篇——分享一篇自定义的 Action Bar
  2. linux下面显示所有正在运行的线程
  3. WebsiteSpark是免费软件吗?
  4. python中os.path和pathlib
  5. VSTO之旅系列(五):创建Outlook解决方案
  6. H264 profile and level
  7. 双域隔离技术何以助力物联网安全? | 人物志
  8. windows7安装python 无法启动程序_教您解决应用程序无法正常启动(0xc000007b)
  9. 基于变分模态分解与麻雀优化最小二乘支持向量机的短期电力负荷预测(VMD-SSA-LSSVM)
  10. 迅雷对非会员进行下载限速的解决方案
  11. 企业云网络安全解决方案的10条评估标准
  12. Zemax中控制曲率半径
  13. 警惕!建信信托暴雷,是否欺骗用户?
  14. 企业所得税汇总纳税信息报告网上办理操作指南
  15. 0x50 动态规划(练习)20:干草堆(题解)
  16. 白杨SEO:软文怎么写?怎么才能写好推广软文,有哪些技巧?
  17. 韩顺平老师的linux基础课(复习笔记)
  18. 神经网络模型的基本原理,如何建立神经网络模型
  19. WslRegisterDistribution failed with error: 0x80370102 Error: 0x80370102 ???????????????????
  20. 详细解读给数据挖掘新手的6个案例

热门文章

  1. SAP MM Overall Level 审批的采购申请中行项目里的成本中心必须是同一个!
  2. SAP MM 进销存报表优化小记
  3. 物联网激荡MEMS传感器浪潮
  4. 短信升级为5G消息?三大运营商联合发布的《5G消息白皮书》说了啥?
  5. 人脑为何能够快速学习新知识? 用AI的视角来分析
  6. 【人工智能】人工智能时代的道路选择 | 焦点评论
  7. “蚁人”不再是科幻!MIT最新研究,能把任何材料物体缩小1000倍 | Science
  8. 5G手机“狂奔而来”,业内预计明年二季度全面上市
  9. 科学革命与科学教科书
  10. 微观世界探索者:15家值得关注的纳米技术公司