-
1、Shell是什么
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
图析:什么是Shell?
答:最底层是硬件,我们是通过内核来管理这个硬件,但是我们在外层应用程序或者是我们敲的命令,内核是不能识别的;
因为我们输入的都是用ABCD这样写的ASCII码字符,但是我们都知道计算机能够识别的是一个0101...的机器语言,那它们之间就需要有转换,需要有把命令转换成为机器语言,同时把返回的结果还要从机器语言翻译成为命令,那谁来干这个事?Shell,所以我把Shell称作命令解释器;
问题:Shell的主要工作是什么?
答:它最主要的工作就是把我们的ABCD的操作命令,翻译成为内核可以识别的01010机器语言,然后这个内核才可以按照我们的要求,去调用硬件来完成我们操作。
当这个操作完成之后,硬件会把执行结果返回给内核里面,那内核也需要通过Shell把机器语言翻译成为我们可以能够看懂的abcd,最后才交还给用户,那这就是Shell,Shell这是什么?就是CRT交互界面,没有Shell根本没有地方打我们的命令。
问题:windows有Shell吗?
答:windows为什么点击开始会弹开这样一个开始菜单呢?其实就是在windows在这里检测这个图像区域之内,侦测到了鼠标单击左键的动作就会调用这个程序,其实windows这个东西就是windows的Shell,只是windows当中不这么叫,windows当中我们就叫做图形交互界面;
那也就是说Shell是什么?就是我们和计算机我们和内核之间进行交互的界面,它的最主要的功能就是让我有一个地方可以输入命令,然后把我的命令翻译成为,计算机内核可以识别的计算机及其语言,让内核执行然后翻译成用户可以识别的ABCD。
-
2、Shell的其他功能
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
-
3、Shell的分类
-
Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh;
-
C Shell: C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名;
-
Shell的两种主要语法类型有Bourne和C, 这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh;
-
Bash: Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell
-
4、Linux支持的Shell
- /etc/shells 【Linux当中到底支持哪些shell呢?看这个文件】
切换shell