红联Linux门户
Linux帮助

初涉Linux Shell浅谈

发布时间:2007-07-27 10:31:19来源:红联作者:ingsoctar
  用了几天时间通过电脑粗略得学习了Linux Shell编程。说编程估计知道的人很多,然后提到Linux 听过的人依旧不少,不过最后涉及到Shell,大概就不会有多少人了解了。都说学以致用,现在对于一般非计算机专业的学生,一般不会无聊到去尝试Linux,而更不必提Shell了。因为一般人仅仅需要网络(对于普通用户存储一般基于本地)这项强大而普及的功能,而现在windows操作系统已经做得如此强大,且普通用户显然习惯于图形用户界面、让鼠标实现极大程度上的便利。

  Linux的一个极大优点是开源、免费(其更深层次的优点便不在此提及),并且熟悉它的用户可以将它作为自己的玩具,进行更人性化的配置,这样就能在硬件性能一定的前提下通过提高软件性能尽量满足用户的愿景。但是,我想对于普通用户而言,这类操作系统最大的问题便是需要用户熟悉掌握很多命令。相对于windows,在Linux操作系统里面双手停留在键盘上的时间会多得多,并且所敲出的命令往往显得比较枯燥无味。因此倘若抛开经济不谈,而仅仅从便利性角度,我相信占据大部分比例的普通用户还是会愿意选择Windows的。

  再回到Shell,回顾一下自己的学习过程和体会。对应的教程一共分两部分,共12章,每章对应一个视频文件,时间大约为一小时。其主要通过理论与实例相结合的方法,所以接受起来相对容易些。而为了自己也可以尽可能的在学习同时进行实践,机子上新装了虚拟机,对应linux red hat操作系统。

  Linux Shell 是Linux操作系统下的命令解释器,同时也可以说是一种编程语言。在这点上便如同Windows下的CMD,只不过Linux下有很多命令解释器(ash,bash等),而Windows仅有cmd。既然Linux Shell似乎身兼两职,那么从两个方面来说说自己的简单想法。

  首先从命令解释器方面,顾名思义就是执行一些命令,该命令已经由系统定义(似乎有点想程序语言中的关键字)。当然既然命令已经实现定义过,那么显然不可能面面俱到、对方方面面的应用都定义命令。因此Linux Shell针对一些很基本的应用(例如:针对文件系统的管理和访问等)定义了一些命令,同时很多命令都携带着参数(或操作对象、结果存放地、处理类型等等)。那么由于其大部分是因为方便用户使用计算机,而不同于实现更高更表面的目的,因此显得比较单调。另外对于命令解释器做个解释:便是用户输入命令,提交给系统,系统提交给内核(CPU)解译执行什么操作,然后系统执行之,并将执行结果通过终端返回给用户(自己的理解,需要再做查询,HOHO。)

  其次从编程语言方面,它是一种面向过程的语言,如同C语言等传统编程语言。另外不同与汇编语言,Shell也许多多少少像高级语言。通过SHELL我们可以编写很多程序,已完成通过简单的命令无法实现的功能。SHELL里面同样有变量,有函数,有调用,有循环、分支等等。同时里面也结合了Shell命令,并且通过最终程序实现包括针对本地、远程等各方面的功能。

  因此初次学习Linux Shell,所知过浅且甚少,另外因为时间问题,因此只好混乱得作此总结。
文章评论

共有 0 条评论