从起步、进阶、高级应用到深入精通,Linux运维该知道些什么?
【新产品上线啦】51CTO播客,随时随地,碎片化学习
一、为什么要学Linux? 当然最重要是爱好和兴趣!如果你没必要学,或者根本不喜欢,请不要浪费时间,你学也学不好! 二、起步学习 你应该为自己创造一个学习linux的环境--在电脑上装一个Linux或Unix 。 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的Linux。 开发人员中用debian的最多,其次是redhat,从全球Linux各应用领域市场份额来看 ,无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。 对于初学Linux的人来说,建议使用redhat,原因如下: 1)现在很多书都是以redhat为例讲的,为了与书本协调一致 。 2)周围的人都用redhat,交流比较方便 。 3)redhat应用范围广,有典型性和代表性 。 4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上 而应集中精力学习最有用的东西。 //注:现在觉得RH很死板,AS,ES等用在服务器上或许不错, Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮 。 如果你并不打算深入学习Linux,而是有诸如适应北京市政府办公平台迁移到Linux上这种需要,那么中软,红旗等中文Linux是不错的选择 。 强烈建议:自己亲自动手把Linux装到你的硬盘上, 你必须学会独立安装Linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单 。 从此现在开始,请不要以windows的工作方式来考虑问题, 应该尝试挖掘Linux身上的“天才Unix”的气质。 三、进阶
建议:买一本不需要太厚的Linux教材,大致可以满足要求 。 //现在的书越来越多了,还带很多图,比以前好学多了。 四、高级应用 澄清一些概念: Linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识 。 我个人认为比较重要的几种Linux语言 : 1.英语
2.shell[sed/awk]
3.Perl/PHP 漂亮的脚本, CGI的首选,比ASP好,应用面很广 。 4.C/C++ C、C++是linux/unix的核心语言,系统代码都是C写的 。 5.ASM 系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要 。 //走核心路线的话,才c/c++,asm最重要 6.Java,Python,Tcl,XML (系统管理篇 )
熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群等各种企业级应用解决方案 。 熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能 。 个人觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员 。 各种基于Linux的解决方案可参考相关书籍和文献,必要时用google或各大Linux站点站内搜索引擎寻找最新文档,以避免错误和漏洞 。 五、深入学习 个人理解的读Linux内核需要的基础: 在此之前,希望先把应用层的东西学一下,那样会比较好理解 。 1.C 如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种), 建议再看一下 《The C Programming Language》Second Edition这本圣经 。 /*如果想学缓冲区溢出,这点C的功力可能是不够的*/ 还有,反正经典书看多了是没有坏处的 。 2.asm (AT&T语法,保护模式) 保护模式下的比较复杂,基本上每本讲内核的书都会有介绍 。 有80x86 Intel语法的基础就行, 有兴趣可以看看Intel的官方网站。 3.数据结构(离散数学) 计算机专业的核心课程,重要性我就不说了 。 4.操作系统原理 看懂这个再去读Linux吧 。 5.微机原理/组成原理(数字电路) 底层直接和硬件打交道,所以这个也要学。 6.了解Linux/Unix 至少你要会操作吧,了解unix的API 。 7.软件工程/编译原理 这方面的经典书去百度上搜到很多 ,APUE这种书不适合初学者,还是先看看UPE之类的吧 。 APUE 《advanced programming in the unix environment》 《unix环境高级编程》 作者:W.Richard.Stevens共有6本经典书,尊为“圣经” ,他的书为全世界黑客所拜读! UPE: 《unix programming environment》 《unix编程环境》比较适合初学者的,深入浅出, 其中有一些比较重要的思想 。 另外,介绍Linux下应用层编程的书也有很多,比如 redhat、redflag出的书........... (编辑:ASP站长网) |