当前位置:操作系统 > Unix/Linux >>

Windows转向UNIX的一些困惑

相信很多朋友Windows已经用得相当熟悉了,由于种种原因,想试试UNIX。无奈Windows的思想根深蒂固,这给学习UNIX造成很多困惑,经常四处碰壁。于是抱怨UNIX太难学,抛在一边眼不见为净,继续用着Windows。当然如果你只是普通用户,听听歌玩玩游戏灌灌水,那大可不必装什么UNIX,因为你根本没必要去跟UNIX瞎折腾。Windows那么方便,用着多舒服,何必自找麻烦,去弄那难配置又“莫名其妙”的UNIX?说到这里,很多人可以不用看这篇文章了。这篇文章是为想学UNIX的跟我一样菜的新手写的,目的是为了在学习过程中少走一些弯路。就从我个人的经历来说吧!

  最初听说UNIX,大概是在大一的时候。当时对这个系统超级崇拜,认为能驾驭这个系统的一定是绝顶大牛。某天偶然听说一个叫做Linux的系统,据说跟UNIX很像,而且还有一个叫做RedHat的东西。因为我有刻录机,于是在校网的某处下了三个ISO,刻成了盘,但一直不敢试,因为根本不知道怎么把它“放”到硬盘上去。也就是说,它有没有分区?有分区的话怎么弄?因为一直担心把Windows损坏,所以这几张盘就被我搁到了一边,这一搁就是一年。

  大二了,Windows已经玩得相当熟了,这时对分区之类的也算挺了解了吧,于是又从抽屉的角落里找到那几张盘,打算试试。具体怎么样我也记不清了,反正是安装成功了,不过刷新率非常低,眼睛根本受不了,所以没多久又被我删了,还是继续我的Windows……说出来不怕笑话,到这时我还不知道Linux有好多发行版本,以为RedHat“就是”Linux。

  大二的暑假,Windows我已经玩得不想再玩了,而且随着对UNIX的渐渐了解,我开始对这东西有了点好感。于是在网上搜了一通,由于当初对Linux的感觉相当糟糕,所以我没把目光放在Linux上,而是放到了BSD上。BSD有三个分支——FreeBSD、NetBSD和OpenBSD。当时看着NetBSD和OpenBSD感觉不大舒服(呵呵,其实看着Linux这几个字也不怎么舒服,这也是我当时不选Linux的原因之一,不过现在不会了),于是自然而然地选择了FreeBSD。

  然而,对于我这个有着很深的Windows思维的人来说,想一下子适应FreeBSD真的很不容易。还是回到分区。FreeBSD的“分区”是怎么样的?这让我怵了好久,直到从图书馆借到《FreeBSD使用大全》的时候才有点眉目。不过,当时并不知道这本书其实不大适合初学者。但那时在家里只能看这本书了,花了十几天吧,把这本书看了个大概。

  回到学校后就开始了学FreeBSD,但也是断断续续,没有当初学Windows那么大的好奇心。不过,虽然进展缓慢,收获多多少少还是有一些的。在这当中逛了好多论坛(ChinaUnix,FreeBSDChina等),看了好多文章,说实话感觉还真的挺不错。现在就稍微总结一下吧,以下仅以FreeBSD为例,因为我到现在为止,经过一些比较,还是认为FreeBSD最适合我的性格:) 嗯,不再瞎扯了,切入正题,呵呵。

  

  首先,我必须让你摆脱一些误解。或许你会有这样的不屑:UNIX那黑头土脸的能算得上系统?能正常工作?能提供FTP和Web等服务?能受得了大负荷?ft,我才不相信,我才不用那破东西!如果你这么想,我可以很认真地告诉你,你错了!知道么,世界使用量第一的Web服务器Apache最初是为UNIX开发的,超级数据库Oracle最初也是为UNIX开发的,高端的服务器用的是什么操作系统?是UNIX!而不是你想象的Windows2003!当然,我用过2003,也用它架过相当多的服务,我知道2003的性能不错。但请相信,世界上这么多大型站点使用的都是UNIX,你说他们的管理员难道就都那么笨?如果Windows2003性能真的比UNIX好,他们会不用这么好的东西?事实是,他们选择了UNIX。不相信?好,你可以去这里看看:http://www.netcraft.com,随便输入几个大型站点,如www.google.com,www.yahoo.com,www.baidu.com,看看OS部分写的是什么?或者,你再看看这个网址:http://uptime.netcraft.com/up/today/top.avg.html,看看世界上运行时间最长的机器用的是什么系统?如果你还是执意认为Windows2003牛,那么OK,你可以把这篇“无聊”的文章抛在一边了:)

  如果你继续看下来了,那我继续说,呵呵。我们知道,Windows上的服务器很多都是以GUI页面和服务的方式存在的,但在UNIX中,它们基本上是在命令行下以daemon的形式存在。你可能很困惑,命令行下也能运行服务?嗯,没错,正是。daemon在UNIX中的地位,有点像服务在Windows中的地位,但又不尽然。现在你可以把daemon就当成服务看待。

  那么,UNIX下的文件是怎么样的?UNIX跟Windows不同,它把所有的文件都当成一回事,不像Windows那样以后缀名来区分不同类型的文件。可能你会很困惑,如果这样的话,我怎么打开不同的文件?事实上,在UNIX系统中,文件只是存储上硬盘上的单纯的字节。UNIX下区分不同文件的方法是看这些字节的前几个字符。当然,UNIX本身可不管你是什么文件,它只当你是一些字节。区分这些文件的工作由应用程序来负责,比如你有一个文件名为“diogin”的文件,你想“打开”它。怎么打开?我不知道它的文件格式!麻烦大了吧?不大。用file命令一看,这个文件是什么类型马上出来了,虽然不一定准,但绝大多数情况下是没错的。好了,现在你知道它是个可执行文件,在shell下敲入./diogin后,程序执行了,打印出了“Hello, World!”,呵呵……就这么简单。

  可是问题又来了,什么是shell?还有,UNIX没有像Windows那样的桌面吗?shell,简单地说,就是让用户与操作系统内核沟通的一个媒介,你在Windows下用过命令行吧,你可以把shell想象成命令行,但shell可比命令行强大多了,功能上根本不是一个数量级,这一点在你深入理解shell后肯定会感觉到。那桌面呢?这个可能是最让人困惑的问题了,当时我就一直不理解这个X跟桌面到底是怎么回事,甚至一度抱怨Windows怎么这么霸道,把我的思想全禁锢住了。首先必须明确,X是图形界面的基础,X不是桌面的简称!X提供了一些图形调用接口,至于怎么用这些接口,怎么显示你想要的图形,是你的事情,它可不管。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,