Linux系列操作系统是IT从业者必须掌握的操作系统之一,不管是做服务端开发还是做嵌入式开发都需要熟练使用Linux操作系统。物联网、云计算、大数据、区块链等流行技术都与Linux操作系统关系密切,所以学习Linux系列操作系统是很有必要的。
目前比较流行的Linux系列操作系统包括RedHat、CentOS、Ubuntu等,Red Hat目前大多在商业环境下使用,功能也更丰富一些,CentOS和Ubuntu是开源的Linux系统,非常适合初学者学习使用。
如果想要通过学习Linux来找一份运维方面的工作,建议学习Red Hat,一方面Red Hat有大量的商业用户,另一方面Red Hat的解决方案相对成熟。推荐学习一下《Red Hat Linux用户基础》。
对于开发人员来说,学习Linux更多是为了服务于软件开发,那么可以学习CentOS,或者是Ubuntu。CentOS是基于Red Hat的开源版本,所以用户群比较大,学习起来也并不复杂。推荐学习一下《鸟哥的Linux私房菜》,这本书我从头到位都看了一遍,写的还是深入浅出,比较适合初学者。
在学习完Linux的基本操作之后,如果想进一步学习Linux的体系结构,可以读一下《深入理解Linux内核》,这本书对学习Linux有较大的帮助,对于开发人员来说有较大的启发。
学习Linux需要一边学习一边做实验,另外,对于开发人员来说,Linux源代码是不可多得的学习资料,如果有条件的话,最好能多读一读Linux的内核源代码。
我的研究方向是大数据和人工智能,目前也在带大数据方向的研究生,我会陆续在头条上写一些关于大数据方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有相关问题,也可以咨询我。
谢谢!
入门书:
《鸟哥的私房菜(基础篇)》
《鸟哥的私房菜(服务篇)》
《Linux命令行与Shell脚本编程大全(第2版)》
《UNIX/Linux 系统管理技术手册》
《UNIX编程艺术》
计算机及操作系统原理书:
《深入理解计算机系统(原书第2版)》
《现代操作系统 (原书第3版)》
深入理解Linux系统
原理篇:
《Linux内核设计与实现(原书第3版)》
《Linux程序设计(第4版)》
《构建嵌入式Linux系统(第二版)》
《深入理解LINUX内核(第三版)》
《UNIX网络编程 卷1:套接字联网API(第3版)》
《UNIX网络编程 卷2:进程间通信(第2版)》
《UNIX 环境高级编程(第2版)》
《程序员的自我修养—链接、装载与库》
《Linux设备驱动程序(第三版)》
实践篇:
《手把手教你构建自己的Linux系统》
基本概念和原理:推荐《现代操作系统》、《深入理解计算机系统》,当时的课本居然忘记了,只记得这两本算是经典之作;
Linux使用的话:《鸟哥的私房菜》是不二之选
Linux内核源码:就有《Linux内核设计与实现》、《深入Linux内核》等书,当然到这块的话更重要的是找个师傅带着你实践,在问题中学习
说下自己看过的书吧,最早的时候看的是《鸟哥的linux私房菜》,分基础学习篇和服务器架设篇。这两本书对初学者还是很有帮助的,属于扫盲的书。对于资深linux大神也有很好的参考价值。很多人瞧不上这本书,但个人认为是一本不可多得的好书。
然后如果想做运维的话,可以看下《跟老男孩学linux运维》,这本书最后一章的综合案例很有参考价值,可以让你了解一个中小规模网站的集群架构的基本思路。
如果你想做linux下的编程,可以看看《unix环境高级编程》这本书要一遍一遍的读,常读常新。还有一本更适合初学入门的书叫《linux编程一站式学习》,纸质书已经绝版,不过可以找到这本书的电子书网站。
如果你对linux内核比较感兴趣,可以看看《linux内核完全剖析》这本书虽然讲的是0.12的内核版本,但里面前几章的扫盲性的基础知识还是很有参考价值的,后面讲解源码的章节可以根据个人实际情况阅读。
然后就是《深入理解计算机系统》和《linux内核设计与实现》,这两本书要耐下性子,精读。
最后就是《深入linux内核架构》,这本书需要对内核有一定了了解的基础上才能看的比较顺利。