我们经常听到别人说shell, 那么究竟什么是shell呢?先复习两个简单的单词吧:
core : 核心
shell : 外壳
在计算机中,shell是一个软件(此处的shell跟shell sort没有关系),没有重量,没有味道,shell这个软件对应一个操作界面,供用户与计算机进行交互,体现在:用户在该操作界面中输入命令,shell对该命令进行解析,然后计算机进行响应,shell把响应的一些结果放在操作界面上,让用户看。
Dos中有一个command.com的软件,这就是Dos系统的shell. (.com是Dos下的一种可执行文件)
Windows中有一个cmd.exe的软件,这个就是Windows的shell. (.exe是Windows下的一种可执行文件)
(值得一提的是,我发现,command.com和cmd.exe有个小区别:虽然在command.com和cmd.exe的黑色对话框中,均不能用Ctrl + V进行复制,但是,在cmd.exe对应的对话框中,可以用鼠标进行复制,而在command.com对应的对话框中,不能用鼠标进行复制。)
下面看一个最简单的程序:
#include <iostream>
using namespace std;
int main()
{
cout << "C++" << endl;
return 0;
}
生成的可执行文件为:test.exe, 双击该文件,可以发现黑色的对话框闪一下就没有了,但要知道程序的确执行了,只是程序执行后,返回到操作系统中去了。
那如何才能看到程序的结果呢?用shell吧,如图所示:(我把test.exe复制到了桌面):
之所以能看到结果,是因为,程序执行后,退回到了cmd.exe中,也就是说,cpu执行完test.exe后,继续执行cmd.exe