壁立千仞 无欲则刚
硬件–>操作系统核心(Linux内核)–>解释层(Shell:将外部操作的命令翻译、解释成内核可以执行的指令)—>用户使用(外层应用程序:图形化界面、文本编辑器、浏览器…)
Shell提供一个交互式文本命令行的界面,通过命令行界面可以一行一行输入命令,Shell终端控制台接收到命令,对命令进行解释,调用相应的程序,向操作系统的内核发起请求,交给操作系统内核进行执行。
Shell就是是一个翻译官,是一个链接的桥梁。
用户可以打开Shell,输入一行解释一行,由操作系统内核执行一句。
在Linux中可以将很多命令写入到一个文件中,用户将文件交给Linux系统,让系统执行,这种方式叫做脚本。
Shell 解析器有多种多样的实现,用户可以查看
[root@centos7-101 ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
[root@centos7-101 ~]# ls -l /bin/ | grep bash
-rwxr-xr-x. 1 root root 964536 4月 1 2020 bash
lrwxrwxrwx. 1 root root 10 9月 26 18:45 bashbug -> bashbug-64
-rwxr-xr-x. 1 root root 6964 4月 1 2020 bashbug-64
lrwxrwxrwx. 1 root root 4 9月 26 18:45 sh -> bash
[root@centos7-101 ~]# echo $SHELL
/bin/bash