一.shell命令解析器
- 什么是shell
- Shell俗称壳(用来区别于核),是指“给使用者提供使用界面”的软件(命令解析器),其主要功能为接收用户命令,然后调用相应的应用程序;
- shell也是一种程序设计语言,作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支
- shell的分类
- 图形界面shell(Graphical User Interface shell 即 GUI shell)
- 应用最为广泛的是 Windows Explorer (微软的windows系列制作系统)
- 此外也有广为人知的Linux shell,其中linux shell 包括 X window manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE
- 命令行式shell(Command Line Interface shell ,即CLI shell)
- Unix/linux 系统:bash / sh / ksh / csh
- Windows NT系统:cmd.exe/命令提示字符
- Windows NT系统:Windows PowerShell(系统需支持.NET Framework)
- MS-DOS系统:COMMAND.COM
- shell的应用
- 传统意义上的shell指的是命令行式的shell
- 文字操作系统与外部最主要的接口就叫做shell,它是操作系统最外面的一层;其管理你与操作系统之间的交互,即等待你输入,然后向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果
- shell提供了用户与操作系统之间通讯的方式,这种通讯可以以交互方式(从键盘输入并且可以立即得到响应),或者以shell script(非交互)方式执行
- shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用;本质上,shell script是命令行命令简单的组合到一个文件里面。
- 较为通用的shell有标准的Bourne shell (sh)和C shell (csh)
- shell应用场景大致如下图
二.shell命令
shell内置命令
- 内嵌在shell中的,是shell的一部分。比如linux的一些简单命令cd,pwd,exit等,这些命令在shell程序设别并在shell内部完成执行。当系统加载shell时被加载并驻留在内存中
shell外部命令
- 是linux的实用程序部分,实用程序功能强大程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放/bin,/usr/bin,/sbin,/usr/sbin等
版权声明:本文为weixin_45992045原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

