其实学Unix很简单(新人可以耐心看下这个文章)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:45 点击:

很多编程的朋友都在网上问我这样的几个问题,Unix怎么学?Unix怎么这么难?如何才能学好?并且让我给他们一些学好Unix的经验。在绝大多数时候,我发现问这些问题的朋友都有两个特点:

1)对Unix有畏难心理,对其没有信心;
2)喜欢用拿Windows来和Unix做比较。
 
这两种特点就像两个“心理暗示”,暗示着自己Unix很不好学,暗示着Unix很糟糕,不如Windows好。于是,自己也就被自己的这种长期的“暗示” 所催眠了。因为,从一开始就有畏难情绪,所以也就觉得Unix不好,觉得非常很吃力,最后还会导致对Unix的厌恶和反感的情绪。所以,为了纠正上述朋友们的“心理暗示”。我想写下这篇文章,想告诉大家,Unix真的很简单。
 
在正式叙述“简单的Unix”之前,我想做几点说明:(以免陷入无意义的争论)
 
1)  本文是站在开发者的角度来说明的,所以,如果有朋友不同意我的观点,请也以开发者的角度来向我提出质问和讨论,本人非常欢迎。
 
2)  本文难免要用Windows来和Unix做对比。这并不代表我不喜欢Windows,也不代表我要叫你放弃Windows。我们也知道这种对比已经没有什么意思了,但因为众多的朋友被Windows先入为主了,所以,我一定要拿Windows来开刀,才能扭转那个“心理暗示”。仅此而已。
 
 
       OK,言归正传。先说Unix的一个最重要的特点——“高内聚,低藕合”!也就是说,Unix下的各种应用程序都和别人不相干。这就是贯穿整个Unix的思维——模块和程序的高度独立性。这样的设计和做法,会让你的系统比较的稳定,也会让你的系统特别地容易管理和维护。Unix下的应用程序们就像一支正规军一样排列地整整齐齐,只要司令(内核)还在,系统是不会因为某个军队的损失而无法自举的。而Windows的应用程序们就像一片树林一样,从地表上看过去,树木们排列地整整齐齐,但是他们的树根在地下却相互缠绕在一起,剪不断,理还乱,异常地复杂。
 
       “高内聚,低藕合”的给Unix造成的结果是,其系统中基本上都是功能单一的小程序,这些小程序就像积木一样,当我们需要构造建一个自定义的建筑时,大多数情况下,我们只需要做的只是一个“搭积木”的简单游戏。Windows建设得富丽堂皇,可惜,别人的“积木”你几乎不可能拿到自己的建筑中来。总是要你模仿或重写。
 
(插一句:你是否注意到在网上下载Windows的软件时,会有一种所谓的“绿色软件”?这就是对Windows的最大讽刺,Windows下装一个软件,N个DLL放到Windows系统目录下,注册表里写入N个键值,还有很多你不知道的动作。而在Unix装软件,你不用担心你的系统目录下会莫明其妙地多出些乱七八糟的文件。就是copy那么简单,那怕是rpm自动安装,安装完后,你也能够查询到软件安装后对系统所做的改变。所以,你在Unix下分发你的软件时,你会觉得比Windows下要做得简单了许多许多。)
 
       再说说Unix的另一个最重要的特点——“所有的设备都可以像文件一样地操作”。简单吧。所有的调备,文件、打印机、显示器、终端、网络、软盘、磁带、USB、CDROM、等等的I/O操作,都以文件描述符的方式进行操作。两个Unix下最重要的系统调用read/write就可以胜任所有设备的I/O了。Unix早就在/dev目录下为你建好了这些文件。使用起来很简单。
 
       也许很多人都觉得Unix的命令行太过复杂。一个命令有着若干的参数,异常地复杂。但之所以今天Unix下的应用程序还在以字符界面为主,这恰好体现了Unix的简单的特征。这也是Unix的另一个特点——“命令的相互支持性”,命令们通过一个管道或是重定向,可以互相联系在一起,再加以 Shell脚本的支持,哪怕要实现一些复杂的功能(比如一个小型的文本数据库),也是简单之极。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • /etc/fstab 详解
  • nginx主主集群
  •  LVS-NAT和LVS-DR模式的实现详解
  •  RHCE考试之磁盘配额
  • 学习笔记:ACL详解
  •  LVM逻辑卷管理器
  • suse linux双网卡双网关配置
  •  Nginx主主负载均衡架构
  • ubuntu学习Mysql

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1