{eval=Array;=+count(Array);}
我觉得学Linux的2个核心: 一个是命令; 另一个是shell, 而shell的核心则是正则。 我个人认为精通的标准有一条标准: 你能从网络上下载 kernel代码, 然后一步步给它加功能(XWindow)让它成为属于自己的独一无二的操作系统。
巧了,作为十年程序员,我的我们简介里写的就是精通linux。那研究到什么程度才叫精通linux呢?小编以自己的经历来做一个解释:(以下经历由浅入深)
1、至少安装过不下10种linux发行版,了解各个发行版的特性和差异。
2、多年的linux操作系统使用经验
使用linux可以让你对linux的机制有一些外在的感觉
3、至少3年linux环境编程经验
linux环境编程,可以让你对linux的实现机制有了解。你就可以知道在linux系统上该怎么玩,怎么样去实现自己的业务目的。
4、定制过linux内核和文件系统
这样的经历可以让你对linux内核的运行机制有更深刻的了解。你可以了解内核和文件系统的界限是什么?联系点是什么?如何从内核态转入应用态。
5、了解linux内核
linux环境编程告诉你怎么做,让你一步一步的调用函数来完成目标。
但是如果你想知道为什么这么做,或者说底层是怎么做的?你就需要深入内核了,推荐下面这本内核学习的入门书籍,这本书很通俗的讲解了linux内核的设计与实现。我通过这本书大粒度的了解了linux底层的实现机制。
6、深入linux内核
了解linux内核的基本运作原理对上层开发人员是够了,但是如果要成为一个linux精通者远远不够,我的做法是阅读源码,但是linux的源码太多了,我选择了赵炯的linux0.11的内核去对照学些,这样对linux内核的细节有了很深的了解。
7、开发驱动
驱动开发会用到很多linux内核相关的机制,比如自旋锁、信号量、硬件中断、软中断、线程、工作队列、时钟、DMA等。这些可以进一步加深对linux内核的理解。我开发过的驱动过包括,watchdog,gpio,lcd,串口,虚拟串口、网卡,pci/pcie,usb等。
8、从内核层面思考问题
现在我的一个习惯就是碰到问题,会从内核角度去思考,会从上层思考到内核层面是如何设计的、为什么这样设计。如果想不通,会自己阅读内核源码找答案。
以上就是我的经历,这个程度,算不算精通linux呢?
其实我是心虚的,因为linux内核博大精深,很多人穷其一生也只是研究了一个小模块。
在这样的巨无霸面前,我们要学习和深究的地方还很多,惭愧呀惭愧!
欢迎关注我,一起努力、一起学习linux内核。
能在命令行模式无障碍的应用于工作环境生产环境,熟悉文件结构,能写shell,小改并编译过内核,制作过属于自己的发行版 ... 感觉也只能算是入门不久的熟练使用吧?因为觉得Linux是在是太多东西可以研究了...根本看不过来...
学习计算机知识,我个人认为学的是原理,学的是方法。所为精通,就是掌握原理,掌握使用的方法。原理通了,方法操作熟练了,个人认为就是精通。最忌背诵记忆,计算机最好的学习姿势就是理论基础上加强实践,再回头看理论,再实践的过程,循环往复,可精通之。个人浅见。
0
回答0
回答0
回答0
回答0
回答9
回答1
回答0
回答0
回答0
回答