作为Linux操作系统的来源,UNIX是许多伟大构想和操作系统哲学的源泉,它提供了多种不同的shell程序。在UNIX商业版本中最常见的可能是Korm shell,但还没有许多其它的shell。那为什么要使用shell进行程序设计呢?这么说吧,shell扮演了一个双重角色。虽然它表面上和Windows的命令提示符相似,但是它具备完成相当复杂的程序的强大功能。你不仅可以通过它执行命令、调用Linux工具,还可以自己编写程序。Shell使用解释开型语言,这使得调试工作比较容易进行,因为你可以逐行地执行指令,而且节省了重新编译的时间。然而,这也使得shell不适合用来完成时间紧迫和处理器忙碌的任务。
使用shell进行程序设计的原因之一是,你可以快速、简单地完成编程。同时,即使是在最基本的linux安装中也会提供一个shell。因此,如果你有一简单的构想,则可以通过它检查自己的想法是否可行。Shell也非常适合于编写一些执行相对简单的任务的小工具,因为它们更强调的是易于配置、维护和可移植性,而不是很看重执行的效率。你还可以使用shell对进程进行组织,使命令按照预定顺序在前一阶段命令成功完成的前提下顺序执行。
为什么要学习文字模式的shell
我们常常提到的shell其实是比较狭隘的定议,一般来说,在linux里,所谓的shell,就是指BASH这个文字模式的shell。但是,广义的shell也可以是KDE之类的图形界面控制软件,因为它也可以帮我们与核心进行沟通。不过,在笔者的linux私房菜里,如果没有特别说明,我们的shell指的是比较狭义的,也就是文字模式的shell。
另外,常常听到这样子的一个问题:“我为什么要学习shell?不是己经有很多的工具可以设置主机了吗?我为什么要花这么多时间去学命令?不是以X Window按一按几个按钮就可以搞掂了吗?为什么要这么麻烦?”。的确,X Window以及Web接口的设置工具,例如webmin,它真的可能帮助我们很轻松地设置好主机,甚至是一些很高级的高级。
但是,X Window的界面虽然友好,功能也强大,而Web接口的工具也可以提供友好的服务,但毕竟它是将所有的套件都整合在一起的一个套件而己,并非是一个完整的套件。所以,有时候,比如升级或者使用其他套件管理模块时,设置上就会有问题。
当远程联机时,命令行界面的传输速度一定比较愉,而且,不容易出现相断线或者是信息外流的问题,因此,shell值得一学。而且,它可以让你更深入linux,更解它,而不是只会按一按鼠标而己。多学一点文字模式的东西,会让你与linux更新近。
有些人也很可爱,常会说:“我学这么多干什么?又不常用,也用不到。”有没有听过“书到用时方恨少?”当主机一切安然无样的时候,你当然会觉得好像学这么多的东西一点帮助也没有,万一某天不幸出了问题,怎么办?是直接重新安装,还是先追踪入侵来源后进行漏洞的修补?或者是干脆就关站好了?这当然涉及很多因素的考虑。
此外,如果真有心想要将主机管理好,那么,必需要掌握shell程序的编写。比如机房管理来说,只有10台,这不算多,但如果每台主机者要花上几十分钟来查看其文件及相关信息,工作量就太大了,也太没有效率了。这个时候,如果能够通过shell提供的命令重导向以及管道命令,不用10分钟就能看完所有主机的重要信息了。
本文转载于唯C教育,【Linux基础】为什么要学shell
http://www.weicedu.com/forum.php?mod=viewthread&tid=86&fromuid=4
(出处: http://www.weicedu.com/)
http://www.weicedu.com/forum.php?mod=viewthread&tid=86&fromuid=4
(出处: http://www.weicedu.com/)