UNIX操作系统自20世纪70年代问世以来,使用越来越广泛。期间衍生出多种多样的版本,如:Ultrix, AIX,Xenix, SunOS, and Linux。应用包括从小型机到大型机的桌面工作站,甚至个人电脑的工作及生活中。UNIX操作系统不仅限于大学或研究中心里的学习者或电脑奇才使用,还包括包括商业,教育和家用。随着时间推移,越来越多的人开始认识UNIX。
你很可能已经在你的学校,办公室或家里使用过UNIX来运行一个应用程序,打印文档或是阅读电子邮件。但你却没有思考当你输入命令并敲击回车后发生了什么。
当你输入一个命令后,好几个层的事件会发生,但我们这里只考虑顶层事件,即shell。简单来说,shell是用户联系到UNXI操作系统的接口,例如,某个程序从用户那里获取到输入信息,转化为操作系统识别的指令,然后将输出返回给用户。如图1-1所示,用户,shell和操作系统的关系。
图1-1 shell是UNIX操作系统之上的一个应用层
现在有多种多样的用户接口,而bash属于最普遍的一类,即基于字符的影虎接口。这种接口识别用户输入的文本命令行,并产生文本类输出。其他接口类型包括越来越普遍的图形化用户接口(GUI),能够显示任何图像,而不单单是输入字符,并可以通过鼠标或其他点击设备获得输入,触摸屏接口(如一些银行自助机)等等。
1.1 什么是shell
shell的作用是将用户的命令行转化为系统指令,如名下命令行:
sort -n phonelist > phonelisht.sorted
意思是,将phonlist文件中的行按照数字顺序排列,并将结构存入phonlist.sorted文件