想要当一个linux开发工程师大神,需要一步一步去实现,并不是一蹴而就的。如果你想成为linux开发大神,请看以下linux开发工程师教程,教你如何一步一步成为大神。
我们先来了解linux开发具体要开发什么:
1.开发linux本身,以及linux下的设备驱动。比如大家现在用的手机,很多linux的或者是linux变种的系统,都需要编写驱动。
2.linux下的应用程序。linux下用的各种程序,和windows一样,比如OPEN OFFICE和MS OFFICE一样,用来办公的。
3.开发维护服务器。现在各大公司的服务器,基本都是用linux,比如百度、新浪等。他们的服务器跑的linux,而且根据需要,他们还自己更改服务自己要求的linux,linux是开源的嘛,可以随便改。
4.开发网络设备,目前想路由器什么的,也很多跑的linux,用来处理和转发数据包,执行路由协议。
后,你问你平时使用的什么是在linux下开发的,因为你平时肯定是使用windows,所以不会用到linux下的东西。因为两个操作系统上的软件是不兼容的。不过你用的MP3、手机、或者家里上网用路由器,你访问的网站都可能用到linux。后,IT工程师用的比较多,用来开发各种服务器软件和嵌入式软件。
linux开发工程师的学习路线:
起步从系统管理走起。建议的书是《linux系统管理技术手册》,虽然你想走底层路线,但我想基本的系统管理知识还是要掌握的。
进阶:熟悉命令模式,会写shell编程,配合系统管理完成一些简单的功能。shell虽然在底层说来没什么太大用处。但掌握这些基础应用还是有必要的。推荐《Linux与unix shell编程指南》。
以上的知识都很简单,属于系统管理的范畴,虽然和你的底层关系并不是很大。但个人认为是必须掌握的基本技巧。下面的就开始有难度了。首先打好C语言基础,书就太简单了《The programming c language》除了这本我也想不起其它的来了。(个人感觉语言是工具,这本书不用从头到尾看完,我一般拿它当技术手册使用,但后期一些关节的知识点还是要知道,比如说流,进程,socket网络套接字等概念,但这些并不属于语言内容,每门语言都有对应的章节,要理清楚这些概念)。
接下来,一些基础知识要打牢,数据结构,操作系统,好还带上微机原理(或是计算机组成原理)。没有这些基础,看内核将非常吃力。
找本介绍linux内核的书,比如说《linux情景分析》,照着linux源代码慢慢学习,很多地方很难,多看。到这里,或许你的linux内核看的并不是很懂,但那不要紧。天才会很容易理解,但大部分人不是天才。接下来你就可以开始看linux驱动编程了。
以上的步骤不是非要一步一步的走。系统管理的知识只是我推荐的,你完全可以选择不看。但基础理论要牢固,所以数据结构,操作系统,微机原理好打牢。做驱动开发并不要求你非常精通内核,但在了解内核后,你写驱动程序将会如虎添翼。后希望你成功。
以上linux开发工程师教程目前就写这么多,想成为大神,必须要一步一步的累计经验,因为所有的成功都不是一蹴而就的。