最近看到网上的一段关于Unix底层工作方面的评论,深以为然:

============================================================

底层个人觉得有两个方向,一个是前面说的内核和驱动;另一个就是网络方面了,主要也就是协议栈。
如果想做内核和驱动,建议加深操作系统原理,加深linux操作系统原理和实现的部分。推荐这样几本书《操作系统设计与实现》(第三版),《linux内核完全剖析》,《UNIX环境高级编程》(第二版),《深入理解linux内核》(第三版),《linux设备驱动》(第三版)。
如果是网络方面,那推荐这几本书《UNIX网络编程》,《TCP/IP详解》,然后再加上RFC和各种协议规范。
另外再补充一句,以上两方面并不冲突,而且也经常有linux的大牛,是以上两个方面都精通的!毕竟离开了网络,linux基本就是没牙的老虎。所以你要是有能力,也可以通吃!
一般来说搞linux 无外乎几条出路,数据库维护,并行机,Web 开发,软件工程,嵌入式,网络安全
如果你学过单片机,C 语言,并且数电模电也不错的话可以搞嵌入式
如果你觉得自己的网络知识比较扎实可以搞网络安全
如果你原来弄过数据库,linux 的数据库也是不错的选择
至于并行机一般来说学校的搞得比较多些。
现在的问题是你能学到多深,上面的几个方面你只需要一个方面很精深就可以满足你的生活需要。
如果你不能精深的话,即使你学了linux 你一样还是要为自己的饭碗发愁。

============================================================

近些日子也深感英语在IT工作中的重要性,在总是编码或者做一些杂事的工作中,如果没有阅读英文资料的习惯,那么要不了多久,不但听说写,就连读的能力也会被荒废掉,每每想起这点,总让我不寒而栗……

技术工作者,没有平台、环境的话,英语的听说能力是很难达到什么质的飞跃的,除非你去做外企的售前之类的岗位。但是阅读不一样,总还是能通过自己的努力逐渐改变的。英语阅读的最高境界,自然是能够熟练的阅读外国的著名原版小说,哎,可这谈何容易,就拿最儿童化的哈利波特来说,能轻松自如的读懂它,实非易事,单词量首先是一个问题,再加上数不清的人名、地名等专有名词,足以把任何一个人搞晕。哈7里面有个参加婚礼的章节,里面去了不少人,在那婚礼现场的杂乱无章的对话,再加上无数的人名、地名的涌现,一下子就把我砸懵了,我不知道是怎么撑过去的,真是噩梦啊。

好在我们的技术书籍还没那么难搞定,而且以现在我的水平,就连自如的读技术书籍也还是办不到,于是,先退而求其次,甭看那些小说浪费时间了,看英文技术书籍得了,加以时日,必有质变,到时再转其他不迟。

在巩固英语阅读能力和学习Unix以强化技术实力的双重动机驱使下,再加上上面对底层工作的分析,我整理了一下一些必要的英文书目(看英文书目的一大好处是,很多著名的书在网上都能找到电子版pdf和chm,而不是那些纸页的扫描版,而中文计算机电子书,一般以纸页扫描版居多):

一、算法和数据结构类:

要做Unix下的编程,不可避免的要向系统编程方面努力,而系统编程方面,数据结构和算法的知识必然是重中之重,所以它们必须要被单独整理出来:

1、Data Structures and Algorithm analysis in C

这是一本很权威的书了,搞它完全是奔着其名气去的

2、数据结构C和C++语言描述

中文版的,以前买的,一直没怎么看,由于自己太懒,哎,其实这本书挺不错的

3、数据结构与算法分析C++版

中文版的,以前的教材,侧重于算法分析,里面还用点到为止的方式讨论了不少高级话题,每个高级话题都列出了详细的参考资料

4、微软编程之美

中文版,这个也是大名鼎鼎的书了,微软里面的人写的,讲了一些微软的面试题目背后所涉及的东西

5、Beautiful Code

07年的书,网上电子版pdf随便下,是由十几个IT界的大牛共同写的,每人写一章节,每一章节讨论一个具体的编程问题

6、Introduction to Algorithm

这个可谓如雷贯耳,麻省理工学院的经典算法教材

7、the art of computer programming

…………IT界的思想巨哲,高爷爷的著作,据说里面的数学让人抓狂,我现在是甭想看懂了。

二、C

Unix下最主要的是C编程,C虽然是一门简单的语言,但是细节方面仍有不少琐碎的地方

这方面的书我找了6本,前三本属于系统学习C语言的书籍,后三本属于针对C的一些高级

特性以及疑难问题做专门分析的书籍。

1、The.C.Programming.Language 2nd

C语言教材公认的圣经

2、C和指针

另一本详细描述C语言极其高级特性的书,这本书虽然著名,但是却搞不到他的英文电子版,

就连他的高清中文版pdf,我都是费了很大力气才搞到。

3、C in a nutshell

除了详尽的介绍C语言之外,还对GCC、GDB、makefile这三个Unix编程利器做了详尽描述,

还提供了ANSI C的库函数使用说明实例,这本书除了作为教材之外,还可以作为参考资料随时

查阅。

4、C traps and pitfalls

对C语言容易出现的问题和各种应用中的陷阱做深刻的剖析

5、Expert C programming

这本书的英文版阅读起来较前面的要困难些,因为作者的写作风格类似于娱乐作品,一些表达方式

并非传统的技术类书籍,这本书个人认为也是这6本里面最特别的

6、C语言深度解剖

这本书是国内的一名做C语言培训多年的老师写的,各个出版社几次叫他增加页数以供出版都被他

拒绝,最后他把它做成了电子版放到网上免费供别人查阅,里面对C的各种语法及应用难点做了点到

为止的描述,还留了不少疑难问题供读者思考,当然了,其中的难题的解答在上面5本书里肯定能够

找到,这本书可以作为对C语言知识的查缺补漏吧

三、Unix编程类:

提到Unix的编程,就不能不说Richard Stevens,他生前留下了6本经典教材,tcp、ip详解共三本,

还有unix环境高级编程以及unix网络编程1、2卷

1、advanced pragramming in the unix environment

2、Unix network programming Vol1 The Sockets Networking API

3、Unix network programming Vol1 Interprocess Communication

前三本几乎囊括了Unix编程的一切重点问题

4、the art of Unix programming

这本书的英文版阅读难度相当高,作者用了很多复杂的表达以及生冷的词汇,而且其中涉及到了很多领域知识的

综合讨论,没有一定的高度很难全部理解,因此是本很难啃的书

5、Advanced Linux Programming

通俗易懂,简明扼要的linux编程教材,可以作为辅助来阅读

四、网络知识及协议编程:

主要是internetworking with tcp ip系列和tcp ip illustrated系列以及Computer Networks 4th

其中computer networks这本书以讲理论为主,对网络知识进行概览,篇幅中等。

tcp ip illustrated是Richard steven的大作,比较复杂,尤其是第二卷,真的是……

internetworking with tcp ip系列相对容易些,尤其是第一卷,通俗易懂,令人叹为观止。

五、shell编程类:

在Unix下工作,shell的运用是不可避免的,这解释性的脚本语言的语法不同于用惯了的C和java,很别扭,而且在vi下,

要是不小心敲了什么不可见的英文符号的话就惨了,连错误都发现不了,晕……

1、shell编程和unix命令

中文版,网上有电子版的中文版下载,早就泛滥成灾,随处可得。

2、Linux.Command.Line.and.Shell.Scripting.Bible

2008年出的书,写的是相当的通俗易懂,如果觉得自己英语差的话,那么看这本书一定能找到自信,我甚至怀疑技术书籍

没法写的比这再简单了,真的……里面的英语太tm简单了。

虽然是2008年出的书,但是可以从电驴上得到电子版pdf,非常棒的质量。

学习Unix编程应该看的书籍整理相关推荐

  1. python 编程该看那些书籍_python编程入门书籍-零基础学习Python编程,这8本书必看!...

    作为一名程序员,你肯定知道Python语言,从2017年开始Python的热度就一路飙升,已经成为大量开发者推荐入门的编程语言和第二编程语言,而且Python还是人工智能的主要编程语言,受到大众的追捧 ...

  2. python 编程该看那些书籍_我用python5年后,我发现学python编程必看的三本书!

    非常喜欢python 我非常喜欢python,在前几年里,它一直是我热衷使用并不断研究的语言,迄今为止,python都非常友好并且易于学习! 它几乎可以做任何事,从简单的脚本创建.web,到数据可视化 ...

  3. 学好Windows编程要看的书籍

    本文是接着前面的学好C++要阅读的书籍而写的,如果想了解C++的学习的话请先看学好C++要阅读的书籍:http://blog.csdn.net/a809146548/article/details/4 ...

  4. Java编程初学者看什么书籍比较合适?

    每次看到网上有很多想学习Java技术的小伙伴都在寻找一些书籍和视频,作为一个初学者,Java编程初学者 看什么样的书籍比较适合较适合呢?或者说,如何才能轻松入门又能深入学习呢?当然了这不是一本书就能解 ...

  5. python 编程该看那些书籍_初学者自学Python要看什么书?

    原标题:初学者自学Python要看什么书? 人工智能时代的来临让Python崭露头角,语法简洁.功能强大的特性更是吸引了很多人学习Python.由于某些条件的限制,有部分人选择自学Python,而需要 ...

  6. 华为C语言编程规范重点笔记(学习C编程规范看这篇就够了)

    华为C编程规范原文详情:link. 一.代码总体原则 1.清晰第一 **清晰性是易于维护.易于重构的程序必需具备的特征.**"程序必须为阅读它的人而编写,只是顺便用于机器执行".& ...

  7. 学习IT编程必看的资源介绍

    现在是知识爆炸型社会,虽然知识这么多,但是找到自己想要的却不那么容易. 下面就分享一下我搜集的一下IT学习网站吧. 51自学网  网址:http://www.51zxw.net/    .知识量很大, ...

  8. 新人学习WorkNC编程必看教程——WorkNC快速建立图档

    只要掌握了这几步,就可以应用到超过80%的WorkNC工作目录建立 具体操作步骤如下: 1.导入CAD图档 打开CAD文件,在D盘中找到名为"V16.igs"文件,WorkNC支持 ...

  9. 期货python入门书籍_期货入门学习哪些知识?看哪些书籍?

    展开全部 1.<期货62616964757a686964616fe59b9ee7ad9431333431353331大作手风云录-初入期海> 期货大作手风云录是瑞林嘉驰对冲基金的基金经理. ...

最新文章

  1. 小程序点击图片自动播放视频,停止上一个视频播放
  2. 一个奇葩的网络问题,把技术砖家搞蒙了
  3. php和mysql两种不同方式的分割字符串和类型转换
  4. osg节点访问和遍历
  5. howdoi 简单分析
  6. 加载类_JVM类加载详解
  7. CSS之background-origin属性
  8. bzoj3524 [Poi2014]Couriers
  9. 二维数组 类型_Java第六章 | 二维数组的创建及使用、数组排序算法
  10. Spring Cloud微服务之Nacos服务发现(八)
  11. 数据千万条,备份第一条:VFEmail被擦除所有数据面临关停
  12. mvn打包并部署本地tomcat_maven一键部署tomcat war包
  13. Android项目中调用第三方app
  14. 哈工大2020软件构造Lab2 Problem3 Playing Chess 架构设计思路
  15. 深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现
  16. Unraid下虚拟DSM7.1,并开启相册人脸识别
  17. 【图像检测】基于计算机视觉实现米粒个数检测含Matlab源码
  18. 【测试】28.禅道的使用
  19. java计算机毕业设计汽车售后服务信息管理系统的设计与实现源程序+mysql+系统+lw文档+远程调试
  20. html5按钮篮筐怎么去,高手中锋的问题

热门文章

  1. 如何计算图像采集应用所需要的带宽?
  2. 今日推荐:【包你说】红包怎么玩,由你说了算!
  3. ffmpeg qsv 编译
  4. 创意灯泡毕业答辩PPT模板
  5. 2021-04-27微信登录参考资料
  6. almaLinux上使用podman容器安装centos
  7. 【ChatGPT】Window便签工具推荐几款,不用详细介绍
  8. 了解Kafka的基本理论
  9. 魔方爱好者快来康康,困难的平面魔方来了!
  10. TI-TDA2X sdk系列---概述