如何才能成为一名linux专家

作者: haolifengwang 2014-11-26 17:03:12
如何才能成为一名linux专家
linux专家本身这个概念就是一个笼统的概念。就好比说想成为一个医学专家。对于其他职业的人来说,这个称谓就够了。在医学内部则是一个笼统的概念。医学分为内科、外科、骨科、妇产科、儿科、神经科等等。妇产科专家当然干不了骨科专家的工作。linux领域也是同样的道理。但是正如自然辩证法所言:有共性与个性的区分。先达到共性,再追求个性。正如先学习完数学、英语、哲学、语文基础课程后,再学习专业课程等等。
我们不妨假设linux是大学里的一个系,设想一下基础课是什么,专业课又是什么。
 首先,Linux是大学里的一个专业,要有《语文》、《数学》、《英语》、《马克思主义哲学》等等基础课。最好还有《兵法》、《武术》等课程。
 其次,它又是一名计算机课程,所以要有《操作系统》、《数据结构》、《算法设计》、《离散数学》等等。
我们考虑完了基础课程,我们再考虑专业课的划分。在划分专业课之前先考虑一下有关linux的具体专业,从事linux有关工作的人都有哪几类。
 linux系统内核开发者和内核代码的维护者。
这些人是牛叉!
 linux作为服务器的运维人员。
这部分人精通linux操作系统的使用,精通如何在linux搭建服务器,甚至编译内核等。
 linux发布版本的工程师
这些人熟悉操作系统的每个组件以及组件间的关系。
 linux嵌入式工程师。
这部分人熟悉交叉编译工具链、配置编译内核、裁剪系统、搭建系统、甚至定制桌面环境等。
 Linux应用开发工程师。这部分根据工具又可分为:
 使用java,python,php等在linux系统上开发的工程师。这部分人需要在linux系统上,编辑、编译和部署他们编写的代码。要对linux基本操作熟悉。
 在linux上开发网络应用或者桌面应用的工程师。他们使用c/c++作为语言,调用linux本身提供的系统调用、使用gnc提供的库完成应用开发。
这部分人精通精通c/c++,还要精通gnu提供的各种库。如伯克利套接字进行网络编程;使用符合POSIX标准的库编写多线程、多进程程序等。这就要精通在linux内核以为的系统调用和c库,甚至是c++库等。(就我现在的工作环境,我定位于这个位置)
通过以上六种人的确认,感觉需要学习的知识有:
 Linux操作系统的操作,如文件的增删改查等。
 在linux操作系统的搭建服务器,如nfs,samba,web服务器,ftp等等。
 Linux高级基础编程。
 Linux网络基础编程。
 Linux内核编译。
 Linux 系统构建
 Linux嵌入式开发。
 Linux内核源代码维护(除网络协议栈)。
 Linux内核网络协议栈与维护。
好了,这样把所有有关Linux的知识都列举出来了。这样我们可以把本系的设为几个专业:
1) linux 嵌入式开发专业。因为我对这个专业最陌生,不妄加评论了。
2) linux 运维专业。必修课为:《linux基础》、《linux服务器架设》。进修课:《linux内核编译》。
3) linux 应用程序开发专业。必修课为:《linux基础》、《linux服务器架设》、《Linux高级基础编程》、《linux网络编程》、《TCP/IP详解》、《调试技术》。进修课:《linux内核编译》,《Linux系统构建》等。高级进阶课:《Linux内核源代码维护(除网络协议栈)》,《Linux内核网络协议栈与维护》。
4) linux系统构建专业。必修课为:必修课为:《linux基础》、《linux内核编译》,《Linux系统构建》。
5) linux内核开发专业。必修课:《操作系统》,linux内核源代码。
总算是,我思考到这个地步了。现在,我也大吃一惊,看到这些路,我的腿都软了。我在学习linux之初知道这条路很难走,在懵懵懂懂中,只是努力前行。好了,不发感慨了。既然上了贼船,就硬着头皮往前走吧!
考虑一下如何学好linux吧!
首先选择一个专业。一个人毕竟精力和时间是有限的!根据现在的情况,我只能选择linux应用程序开发网络开发方向。至于linux内核开发专业,现在算是一个梦想吧!
方向定了,课程也定了,又如何学习呢?
忘记windows,让自己生活在linux之中。累了,不写了。

相关资讯