Linux——我的新体验

       离上一次用Linux已经有一段时间了。这主要是因为两方面的原因:一方面是临近大学毕业了,忙着写论文找工作,无暇顾及我的爱好了;另一方面,也是最重要的方面,大学期间买的一台二手计算机(CTR显示器的那种)坏了,害得我毕业论文只能在大学机房的计算机上完成。现在大学毕业了,找了个不算好也不算很差的工作,又开始玩起了Linux。主要是想给自己未来的计算机(我现在还没有买计算机,现在用的是公司的)选一套合适的Linux操作系统,当然也是出于学习的目的。所以这一段时间,我又开始了学习Linux的路程。

       前一阶段的学习是在大学期间,用的是redhat9.0的系统。那时主要是用了一下里面的软件,比如用一下gcc,编译个小程序。用apach架设一个web服务器;或者用samba架设一个文件服务器;再就是做路由实验。总之这些就是一个用Linux的过程。在这个过程中,我体会到了什么事真正的多任务多用户的操作系统,特别是多用户这一特性。也体会了为什么bash脚本和命令使Linux被称为灵动的操作系统,如果说用图形界面(所有操作系统的)是在利用操作系统的提供工具的话,那么用bash或者其他命令解释器(sh、tcsh、ssh等)则是使用语言,一门计算机能够理解的语言。语言和工具是两个概念。语言是由零散的语句组成,工具是利用语句组合成的一个具有一定功能的集合体。用Linux的文本模式,命令行模式就是使用语句与计算机交流的过程,用这些语言写成的脚本也叫做bash脚本。这本身就有语言的特性,拥有变量,可以寻址,可以从键盘读取,有控制台输出,还有逻辑判断、数学运算、循环。虽然,这些特性比起C和C++的一些特性相差还很远,但是作为一个脚本来说这已经不错了,这是因为他的这些特性已经能够完全适应服务器的日常管理需要。与此同时,我还体会到了什么叫做用记事本打天下。Linux的文本模式下,要想让程序具有可定制性,可交互性。只需使用配置文件,也只能使用配置文件。而且这些配置文件都是用人类可以读懂的字符组成的。用计算机界的还说,这叫human-readable simbles,其实也就是text文本,采用utf—8或者ansc编码的那种字符。总之,这是一段不错的体验。

        这一段学习的过程的确给了我不一样的感觉。现在我开始学着怎样往这个系统中添加自己需要的程序。在windows中,这很容易:在网上下载一个安装包,点击“下一步“就可以完成。可是在Linux中,这并不容易。我想这其中的纠结过程只有真正安装过的同学才有体会。也许,你可以说用安装工具yum或者apt-get等自动化安装工具,可是你绝的这可靠吗?他能满足你百分之百需要吗?你得考虑怎样定制yum源服务器。rpm安装包更不容易,这意味着,你必须解决好文件依赖性问题。你必须在提示下不断下载各种支持包。没有办法,在开源世界中,安装程序只能这样靠自己解决。如果你恰好碰上了循环依赖那可就够受了(反正我还没有碰到过,如果碰到了,我的措施就是换一个rpm包,因为其实不是每一套安装包都一样的)。还有一种解决方案就是编译源码,然后安装,这不需要解决源码问题,但是不是每一套源码都能顺利安装,所以很纠结。这次安装mplayer就是这样,我换了四五套源码才编译成功。这需要耐心和毅力,当然在好奇心的驱使下,这些困难都算不上什么。只能让人更好奇,同时这些也刺激了我解决问题的欲望。这意味着,当问题解决了以后,会很有成就感。是的,我编译完mplayer并且安装好了以后,开始试着播放音乐,音箱里传出了悦耳声中。我停止了思考,开始享受这来之不易的歌声,太美了。再看看时间已经1:30了,该回去休息了。但是我还是兴奋了许久。

         后面还有就是在字符模式下,浏览图片。其实这说简单也简单,说复杂也挺复杂。说起来也就是利用Linux提供的framebuffer来显示图片。在Linux下,这相当于DOS下的图片缓冲区,但是在Linux下不能这样操作。因为作为一个完整的现代操作系统,不应该把硬件直接暴露给用户,让用户不受管理的使用。就像dos下面提供了dos中断以后,IBM又公布了BIOS中断一样。其实这很危险,不利于发挥操作系统的管理作用,因为产生了容易产生越权行为,意味着任何一个应用程序都可以越过DOS操作界面,而可以不让操作系统知道,这对于用户和数据都是不安全的。所以,在Linux下显示缓冲区变成了一个只有root用户才可以读写的文件/dev/fb0,这是一个设备文件。用过的人都知道,Linux的/dev目录下有许多这样的文件。是不是想起了一句话:everthing is file。是的,Linux是一种类Unix系统,但他不是Unix。所以,在Linux中也适用了这句话:everthing is file。既然是文件,那么就可以用读、写和可执行来规定权限。比如root就可以写/dev/fb0这个文件,一般用户只能读。这就是为什么我刚开始用普通用户登录后在Linux下用fbv显示图片时出现permission  denied!提示,但是可以读出并显示出来一堆乱码。当用root用户登录时就可以正确显示图片。是的,知道这个并没有什么了不起。但是知道一件是和做到一件事的体会是完全不一样的。因为其实这里面还有很多细节需要注意。

       不过话说回来,我的这些学习离不开一个好伙伴,那就是google。我无意在这里专门为google做广告,google也不需要我给他们做广告。但是在学过程中,常常是google告诉我别人是怎样解决这些问题的。这给我提供了一个不错的例子,这些对我的帮助真的很大。百度虽然也有帮助,但是没那么多,因为这些结果很杂。只有在google找不到的时候,我才去用百度。真的就像一个面试官说的那样,你不知道这个东西,没有关系,但是如果你不会在google上查找就不行了。总之,感谢互联网,感谢google!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值