网友初学Linux的真情实感


马上要上大四了,linux是在两年前开始接触的,到现在对自己对linux的评价是:还算不上一个合格的操作员。我的目标是:真正学会linux的高效工作方式。我想从我接触linux这些日子谈谈我对学linux的一些看法。事先声明,我还是个菜鸟,个人看法希望不要误导初学者,望高手指正。
  我最早接触linux是在大一下学期,之所以能接触它完全是被当年那股linux热风给吹的,那个时候在某些人看来linux一出世,windows马上要完了。后来的事实证明linux那股热风的确厉害,linux有了长足的发展,但是windows并没有玩儿完,因为windows也在进步。那个时候没有自己的电脑只能抱着书本看,而电脑知识又少,更没法实际的去操作,看这些书的时候就好像纸上谈兵(比如进程,shell,还有api)。但是不得不佩服那个芬兰人理察·马修·斯托曼,为了查探个究竟,我去图书馆翻阅了很多资料,后来才知道他是个很厉害的组织者和策划者,主要从事操作系统内核部分的开发与维护,而操作系统的很多其他软件都是通过GPL公约发布的,没有这些应用软件,linux也不会有今天的成就和光环。继而开始关注开发linux的这个团队,他们自称是真正意义上的“黑客”,并且用一句“黑客搞建设,骇客搞破坏”来说明他们工作的目的。 那个时候还看了一个黑客写的书籍,名字是《如何成为一名黑客》,里面的观点很是佩服,就抄录了下来,现在再次复制如下:

  如果你想成为一名黑客,反复读下面的事情直至你相信它们:

  1。 世界充满了待解决的迷人问题。做一名黑客会有很多乐趣,但却是要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从锻炼身体、超越自我极限的愉悦中得到动力。同样,做黑客,你得能从解决问题,磨练技术及锻炼智力中得到基本的乐趣。如果你还不是天生的这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他分心的事物吞噬掉——如金钱、性和社会上的虚名。同样你必须对你自己建立足够的信心——相信尽管当你对某个问题近乎一无所知时,但只要你一点一点地试验、学习,最终会掌握并解决它。

  2。 一个问题不应该被解决两次。聪明的脑袋是宝贵的有限的资源。当世界还充满非常多有待解决的有趣的新问题时,它们不应该被浪费在重新发明轮子这类事情上。作为一名黑客,你必须相信其他黑客的思考时间是宝贵的——因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决新问题而不是不断地忙于对付旧问题。你不必认为一定要把你所有的发明创造公布出去,但这样做的黑客是赢得大家极度尊敬的人。卖些钱来养家糊口,租房买计算机甚至发大财和黑客价值观也是相容的,关键是你不要忘记自己还是个黑客就可以了。

  3。 无聊和乏味的工作是罪恶。黑客(泛指具有创造力的人们)应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情—— 解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,而且是罪恶。作为一个黑客,你必须坚信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是那些黑客们)。对此有一个明显的例外。黑客有时也做一些在他人看来是重复性或枯燥的工作以进行“脑力休息”,或是为了获得某种技能,或是获得一些除此以外无法获得的特别经验。但这是自愿的——有脑子的人不应该被迫做无聊的活儿。

  4。 自由万岁。黑客们是天生的反独裁主义者。任何能向你发命令的人能够迫使你停止解决令你着迷的问题,同时,按照独裁者的一般思路,他通常会给出一些极端愚昧的理由。因此,不论何处,任何独裁主义的作法,只要它压迫你和其他黑客,你就要和它斗到底。这并非向所有权威挑战。儿童需要监护,罪犯要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客可以同意接受某种形式的权威。但这是一个有限度的,有意的交易那种权威想要的个人服从不是你应该同意给予的。权威喜欢审查和保密。他们不信任自愿的合作和信息的共享—— 他们只喜欢由他们控制的所谓“合作”。因此,作为一个黑客,你得对审查、保密,以及使用武力或欺骗去压迫有行为能力的人们的做法有一种本能的敌意。同时你要有为此信念斗争的意愿。

  5。 态度不能替代能力。作为一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,也不能使你成为一个运动健将和摇滚明星。成为一名黑客需要智力,实践,奉献精神和辛苦工作。因此,你必须学会怀疑,并尊重各种各样的能力。黑客们不会为那些装模做样的人浪费时间,但他们却非常尊重具备少数人所具备那些能力的人,其中涉及脑力、技巧和专注方面能力的当然最好。尊敬能力,你就会享受到提高自己能力的乐趣—— 辛苦的工作和奉献会变成一种高度娱乐而非苦差事。要想成为一名黑客,这一点非常重要。

  如果你反复读一读这些段落,你会对他们的这种"黑客精神"由衷佩服的。如果拿这些态度用到人生上,有何尝不是正途呢。总之我大一的时候就是学了这些理论,丝毫没真正的碰过linux,但是已经很向往linux的生活了。 大二的时候买了电脑,在熟悉了windows xp之后就开始琢磨装linux了。最初选择了学校图书附带的安装光盘,那个时候是red hat linux6.2,装了几次都没成功,后来翻开书隐约觉版本老了,驱动程序跟不上了,就转遍了整个桂林市的卖光盘的摊位,终于买到了red hat linux 9。因为之前已经看了好多关于分区方面的说明,结果在用partion magic 8从新调整好分区后,就一次安装成功了,那个时候选择了全部安装,占用了5G多的空间。可是装完之后我找了本介绍linux的书操作了一下,忽然发觉不知道用他来干什么了,因为没有网络(学校的校园网碰都不敢碰的,据说看个新闻一天就出去好几块了,因为按流量收费太贵了,而且网页上的动画又多)。我就找了本讲linux shell命令的书来操作,操作了一遍后就没兴趣了,突然觉的linux怎么就这点儿东西呢?那个时候还学了学linux的c编程,觉的怎么搞的那么烦琐呢(这个想法后来学的东西多了就转变了,linux的c编程的确是很成功的,因为他建立了丰富的函数库,省去了好多重复劳动)。个人认为桌面真的是没什么用处(那个时候没网络,不需要看网页),我都是打开图形界面后就打开个终端输入命令操作。 大二下学期虽然有了网络,可是那个时候学的是本专业必须要学的软件protel,只一个protel就很难学好了,所以半年就这样过去了。

  我始终相信linux是我的最爱,不能忘了本。 大三的时候考了次计算机四级,虽然只是突击了一个暑假,但是感觉收获很大的,对计算机这个学科有了个整体的了解。我想如果不是为了考试,我是不会看离散数学,编译原理跟关系代数这些看起来跟计算机毫不相干而跟数学密切联系的这些理论的。看了这些理论之后,才知道计算机这个学科我以前小看他了。而这个学期本专业就是那些电机跟电器,好似很简单的的东西,就没怎么去看,开始主动学电脑方面的东西。什么都学了点儿,但是都没学通。这个时候其实也没怎么学linux,就是在电脑上安装各个版本的linux,然后比较到底哪个跟适合自己,得出的结论是:都不适合我,我得去适应他们才是对的。他们是各有所长 大三下学期开始学单片机跟PLC这种需要不断跳转的编程,那个时候的感想是如果能象c那样编程多好。在某个高手的指点下开始学习c++,因为很仔细的学了学单片机编程跟PLC编程,所以linux学的也不多,也是由人指点开始接触debian 和 freebsd,个人感觉这两个系统都属于那种特“深沉”的系统,朴实,一点儿一点儿的进步,从不搞什么过激的举动。很是佩服这两个系统的网络安装方式,只要有个不错的网络链接,需要安装什么就安装什么,只需要一个apt=get就可以很容易的管理软件包的安装于卸载。 看了篇《完全用GNU/LINUX工作》,里面虽然有很多偏激的看法,但是我觉得他道出了用非windows工作的最主要的原因:追求高效。其间很重要的一部分如下,我认为很好的说明了KISS(keep it simple,stupid)原则:

  各个小程序的完美配合 这就是UNIX最重要的特点了,它就是UNIX设计的思想。让每个程序只具有一项专门的能力,然后让它们合作。Xwindow也继承了这种好传统。这恐怕就是Windows和其它操作系统望尘末及的地方了。UNIX 程序设计之统一,配合之完美,真使我难以置信!shell, grep, find, awk, sed, make, Perl, Emacs, vi, tin, Mutt,它们是那么的具有一致性!你一旦学会了 sed 的正则表达式,其它程序基本上都能用了。你一旦学会了 vi 和 VIM, 你会发现它的操作是那么的有规律性,似乎vi的设计者在几十年前就已经设计好了 VIM,一个完美而统一的操作方式!而且vi的操作还体现在 Mutt, tin 等很多程序中。你甚至可以把 bash 设置为 vi 的输入方式来输入命令行,我就是这么做的。一个程序可以调用另外一个程序来得到数据,可以把数据交给它处理后返回来,可以在自己的窗口里“嵌入”另外一个程序。 在 Windows 和其它非 UNIX 操作系统中,这种合作是非常困难的。我曾经在 Windows 下使用Perl来进行一些自动工作。但是 Windows 的文件操作,管道是如此的不稳定,程序之间基本不能合作。你别想在 Visual Studio 窗口里面嵌入 UltraEdit 编辑器,你别想用一个 expect 脚本来控制 telnet 到水木清华BBS。 Windows 的程序都是大而全,大而杂,所有的电子邮件程序都需要自己提供编辑器,自己发送和收取邮件,自己显示邮件的附件。每一个BBS程序都提供自己的Virtual Terminal, 自己的通讯代码。每一个 IDE 都自己提供编辑器,编译器,汇编器,调试器。人们为了使用一种新的程序,需要适应所有这些它提供的界面,而不能使用自己喜欢的编辑器的键绑定,菜单组织…… 不能 DIY!

  好了,我引用的这两片文章已经把我的一些感受说清楚了,也就不在众多资深人士面前班门弄斧了,虽然语言朴实,但的确是我的

相关内容

    暂无相关文章