什么是Shell
-
Shell
是一个命令行解释器
, 它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序
, 用户可以用Shell来启动, 挂起, 停止设置是编写一些程序. - 负责接收用户的
输入
,通过它可以与操作系统交互,Shell是包裹在操作系统外层的程序,就好像是操作系统的壳
,Shell(壳)的名称也由此而来。 - Shell是解释执行的
脚本语言
, 在Shell中可以直接调用Linux系统命令
. - Shell的两种语法类型有
Bourne
和C
, 这两种语法彼此不兼容, Bourne家族主要包括sh, ksh, Bash, psh, zsh, C家族主要包括csh, tcsh.
image
命令执行原理:
- 用户通过
Terminal
输入命令,Shell
通过查找ASCII表
, 将命令解释成二进制
, 传递给内核
,内核
才去找硬件
执行. -
硬件
将执行结果返回给内核
,内核
返回给shell
,shell
再查找ASCII表
, 转化成我们看的懂的字符,最终在Terminal
上显示出来.
console,terminal, 和shell的区别?
1. terminal, 终端, 是一种可视化的命令输入界面.
2. shell, 壳程序(命令解释器),shell是包裹在操作系统外层的程序,
就好像是操作系统的壳. shell用来处理通过终端输入的命令(字符).
3. console, 控制台, 和Terminal在功能上差别不大
参考自绝地反击T