举一个例子
假设用户输入了一条指令:ip add
那么这条指令的背后到底发生了什么呢?
大概可以分为7步:
- 首先用户输入了命令ip add
- shell解释器接收命令后会进行解释。得出结论:ip是命令,add是参数
- shell解释器会去磁盘寻找ip命令
- 磁盘会告诉Linux内核ip命令的位置,加载ip命令的二进制可执行程序到内存
- Linux内核就会分配内存空间并且启动ip命令的进程
- 内存这边就会执行ip命令,返回结果给shell解释器
- shell解释器就会返回结果给用户
以上就是当在Linux中输入一条命令的背后所发生的事情。
我们要知道的是:
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。