开学的时候就给自己定了一个目标:成为一个linux系统工程师。但是却不知道要怎么学?学什么?于是就到网上一通搜索,找了很多论坛,读了很多别人写的文章。慢慢有了一些心得,也深深喜欢上了Open Source的精神。
学习linux的过程,我觉得应该是这样的。
首先:熟悉linux操作系统的应用,
自己在电脑上装一个linux系统,最好是fedora的,这样比较适合初学者,然后熟悉一些基本的命令,这个过程可以看《鸟哥的私房菜-基础学习篇》《linux必学的60个命令》熟练掌握60是个以上的常用命令,一定要熟练使用,对于参数,则要记最常用的,如$ls -l,$tar -zcvf file 压缩打包,$tar -zxvf 解压缩包。当有了这些命令作基础,要经常联系,并且要习惯$man command 查命令参数。命令好记,但参数不好记,这时候就要想到用man 命名。但常用的命令的参数则要记牢,一般每个命令也就一两个参数。
在这个过程中,要尝试着熟悉linux目录结构,/etc :/var :/usr :/boot :/root: /tmp :/mnt:/home:/bin:/sbin:/ 其中最重要的就是/etc: /usr 这两个目录。要花点时间熟悉,后面的系统应用要用到。
还要尝试软件的安装,rpm方式,$rpm -ivh file
binary code 自己编译。
可以装一个mplayer,一个显卡驱动程序试试。
这个过程要遇到makefile,gcc编译器的使用。
然后:学习shell编程
《OReilly.Learning.the bash Shell - 2nd Edition.chm》
$grep So, it must contain globle regulary expressions print.
Then:系统管理员方面的应用
下面就是编程方面:
1.c/c++ 首先真正熟悉c语言编程。
看完三本书《The complete reference C》《c traps and pitfalls》
《c专家编程》
熟悉一些c语言的经典概念,如static,const, pointer,函数指针,多看看面试题。
2.常用经典算法,面试题,如:大数相乘,
3.看《Beginning linux programming the fourth edition》
linux系统编程的入门经典教程
4.《Advanced unix programming environment》
linux系统编程进阶
看这两本书的时候,要结合着操作系统原理看
《Operating Systems:Internals and Design Principles 5th edition》
《自己动手写操作系统》
上面是应用层的编程。
下面是内核方面的编程:
通过对系统编程方面的了解,然后再开始读内核,就比较容易,当然还需要一些汇编的知识,通读 Intel Architecture。
1.《ULK:understanding
the linux kernel (2nd)深入理解linux内核
》
2.《Linux.Kernel.Development.2nd.Edition.Jan.2005.eBook-LiB.chm》
嵌入式操作系统方面:
1.《uc/os 嵌入式实时操作系统》
偏向实用,可以在看操作系统原理的时候,实践。
阅读(2048) | 评论(0) | 转发(0) |