学习源
什么是shell
shell是一个程序,采用C语言编写,是用户和linux内核沟通的桥梁。它既是一种命令语言,又是一种解释性的编程语言。通过一个图表来查看一下shell的作用。
拓展知识:
kernel:为软件服务,接收用户或软件指令驱动硬件,完成工作;
shell:命令解释器
user:用户接口,对接用户。
上图可以看出,shell在操作系统中起到了承接用户和系统内核的作用。那为什么不直接用户对内核呢?
原因很简单,因为内核处理的都是二进制,而用户处理的都是高级语言。简而言之,如果没有shell,你希望告诉你喜欢的妹子:我爱你。你需要经过以下步骤:
1)将“我爱你”翻译成二进制
2)告诉内核
3)内核通过网卡发送给你的妹子
4)妹子计算机网卡收到你发的二进制
5)网卡交给内核
6)内核交给妹子
7)妹子看到都是一串01组成的数字,o my god,二进制不是人人都懂的,你的表白也就石沉大海了。
为了让所有人都能快速、方便的使用计算机,我们的系统开发人员通过shell解决了这个问题。使任何一个希望通过计算机来工作、娱乐的人都能够快速操作计算机。
shell功能
-
命令行解释功能
-
启动程序
-
输入输出重定向
-
管道连接
-
文件名置换 (echo /*)
-
变量维护
-
环境控制
-
shell编程