作者:ailms
不知不觉,接触 LInux 已经 3年有多,在这3年中,带给我的更多的是欢乐,当然还有很多的回忆。
4年前一个偶然的机会,另外一个部门的同事让我帮忙装 Redhat 7 。当时还只是听说过 Linux 这个词而已,至于长的什么样子都不知道,更不用说操作了。在这位同事的指导下我装上了人生中的第1台 Linux 主机,看到和 Windows 截然不同的界面,竟有一种亲切的感觉,特别是那个多桌面的功能,让我很是着迷。当时就抱定了要学习 Linux 的决心
本人自从 01 年毕业以来,一直是朝着 NA 的方向走的,在学校时就已经买了 CCNA 的书在看了,一直到04 年都是在看 CCNP (其中也夹杂着大专、本科的自考的学习,想来真是浪费了大好时光)。但越学习越迷惘因为没有太多的动手机会,一直停留在书本的学习上,有些概念越来越模糊。直到碰到 Linux 这个东西,我才算是彻底改变了自己的方向:我要改学 Linux !只要有1台主机就可以学,不用再安装什么模拟器,不再受限于实验环境了。
冲着这股劲头,第2天就到太平洋电脑城,花了75元买了一套正版的 Red Hat 9 。这是本人的第一套正版软件,算是为中国的正版事业贡献了微薄之力 。虽然现在已经都是用 ISO 和网络安装了,但我还是保留了该软件,算是作为自己的一个纪念。
不幸的是,我一开始并没有找到适合自己的学习方法。在 04 - 05 年 10月前,我都是东一块,西一块,资料下了一大堆,但看完的寥寥无几。而且一开始就挑战 Apache 这类软件,由于没有打好基础,很多看不懂,学过了就忘了。
就这样1年半过去了,直到 05 年10月,事情终于发生了转变。刚刚考完了一门很讨厌的自考科目,突然想起一个问题 :自己这1年来到底学到了什么?似乎什么都学过,但又什么都没学到。就在这时偶然(又是偶然)得到了 CU 的 peng 大哥的指点,他告诉我应该从 DNS 学起,再学 Apache、Sendmail 这些。就这样,我竟然不知道那根筋错乱,无意中找到了一本 O'Reilly 的 《DNS & BIND 4th》。在这里真的要谢谢O'Reilly 的人,要向这个优秀的出版公司、以及所有作者致以我最崇高的敬意,正是他们的汗水才写出了一本本经典的书籍,其中就包括了 Sendmail 2th 、骆驼系列(Perl)这样的巨著。现在 O'reilly 的书已经成了我学习服务器方面的第一选择了,不管是 SNMP 还是 Postfix、Apache 、BIND ,都是靠着 O'reilly 的书一步步学起来的,所以这里也向各位朋友推荐它们的书。
老实说,一开始看英文的书不太习惯,还好本人的英语水平不错,看起来也不算太难,就是觉得有点慢。这本书我来回看了3遍。不错,3遍。第1遍是初看,第2遍是细看和做笔记,第3遍是捡漏了。而且在看的过程中,我推荐使用 CyberArticle 软件,它可以把 CHM / html 文件导入到一个目录下,你可以直接编辑页面,很方便做注释,勾画重点,记录问题。相比起真正的书本或者 PDF 文件来说,这点是我最喜欢的。
就这样到了 06 年的3月,我终于把实验、笔记、书都搞定了,回头一看,积累了 20M 的笔记/截图。虽然时间有点长,不过还是很高兴。有志者事竟成!我终于体会到这句话的道理了。从这时开始,我就活跃在 CU 的 DNS 板块了,我的1/3贴子都是在该版块发的,同时还认识了 abel 和 netman 这两位台湾的高手。abel 的的水平深不可测,BIND 和 Sendmail 是他的强项,他本人也在 TWNIC 工作,据说还经常出席 IETF 的会议,参与 RFC 的制订。在 DNS 方面我得到了他的不少知道。至于 netman 兄估计 CU 不认识的人应该很少,《shell 13 问》 是他的巨著,也是整个 CU 的财富,点击率一直居高不下。netman 兄是做培训的,是台湾 Linux 培训界的先行者,大名是“陈思永”。鸟哥(Vbird)就是他的学生,鸟哥出书也是请 netman 兄写的序。
netman 兄当时指出了我的学习方法是 top-down ,而不是 down-top ,建议我从基础看起。看似简单的一句话,却让我的整个学习过程扭转过来,我放弃了当时的 Sendmail 学习(这是我的一块心病,也是学习方法不对),开始从基础看起。文件系统、权限、用户管理,这些都一一看过,现在翻译的 man 有 300 篇至少。在此同时,我也作出了决定,学写 shell 编程。可以说让我的水平的提升就是学习 shell 带来的,还是 O'Reilly 的 learning bash 2nd 和 sed & awk 这两本书帮了我,还有 mastering regular expression (看了1/3)。
学习 shell 编程的一个好处就是你可以更清楚的了解系统的内部细节。例如分析 /etc/rc.d/rc.sysinit 和 rc 脚本让我对 LInux 的启动流程有个更清晰的认识,而这些知识可以用于平时的 Trouble Shooting ,反过来又激发了自己学习的热情。所以学 LInux 的人(维护方面),shellscript 是比不可少的一门课程。有了 shell script 你还可以编写自己的脚本,我就是用它来提升了工作效率,让平时大约1小时的巡检工作缩短到3分钟,又配合 MRTG 搭建了一个监控服务器,只要抬头看看大屏幕就知道有没有故障,很是方便。
杂七杂八的说了这么多,主要是几点 :
1、注意学习方法,一定从基础打起,基础打好了,学上层的东西就不难了
2、英语要过关,很多东西是没有中文文档的,例如 RRDtool,当初翻译所有官方文档花了1个星期。
3、瞄准方向,主攻自己的兴趣。Linux 的范围很广,维护、开发、网络、安全,总有一个领域适合你
4、多动手,多实验。碰到不懂的,先看 manual ,再看官方文档,再 gogle ,没有再到论坛问。
暂时就说到这里,最后祝所有爱好 Linux 的朋友开心、进步。
nuwanda 于 2008-04-13 06:29:07发表:
shell 13问,netman,open and inclusion
3Q,and we ebrace together forward
nuwanda 于 2008-04-13 04:38:37发表:
受益匪浅的文章!!!
奶茶dsk 于 2008-04-12 11:37:18发表:
英语..我的心病..
qwdzq 于 2008-04-12 11:02:32发表:
我学编程方向明确呀
solo206 于 2008-03-02 08:56:08发表:
我现在也是感觉有点乱,
不过真的受益匪浅!!!
:-)
yezhulin1982 于 2008-03-01 11:45:36发表:
我的GNU/Linux学习经历与楼主大同小异。