1. 什么是shell
shell程序就是包在操作系统外面的那层外壳程序,就是命令终端。
人与shell交互,shell再与系统内核交互,shell就像个翻译,你直接输入cd 命令系统是看不懂的,系统内核只看得懂二进制语言,这就需要shell翻译给它。
另外shell也起到保护操作系统的作用。操作系统其实是一组控制整个硬件与管理系统软件, 如果这组软件能被用户随意的操作,若使用者应用不当,将会使得整个系统崩溃。但用户总会需要与操作系统交互的,比如想给操作系统发送一个播放音乐的命令,这个时候就可以通过shell发出这个命令。shell包裹着操作系统,但它会放开那些可以提供给用户操作的接口,也就是说,只要能够操作应用程序的接口都能够称为壳程序。狭义的壳程序指的是命令行方面的软件,例如windows上的cmd,linux上的bash。 广义的壳程序则包括图形接口的软件!因为图形接口其实也能够操作各种应用程序来呼叫核心工作!
2. 什么是bash
bash就是一种shell,而且是linux shell。相对应的,windows shell就是cmd了。
3.平时在linux命令界面输入的pwd,cd等命令属于shell还是属于Bash
属于shell
4.学习bash shell 的相关书籍
《Bash shell高级脚本指南》
《实战LINUX+SHELL编程与服务器管》
参考
Linux鸟哥私菜房第十一章
windows的shell和unix的shell有什么区别
关于Linux ,Bash ,Shell的概念问题