Kernel,Shell,Bash 的关系

Kernel (内核)

Kernel 操作系统内核 操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
来自 ——百度百科

内核是大多数操作系统的核心部分,是操作系统必不可少的部分。

但是出于安全性的考虑以及语言的不通,用户无法直接与这一部分进行交互。

Shell (计算机壳层)

在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
来自 ——百度百科

Shell可以理解为是在核之外的一层壳,是用户与核进行交互的接口。

因为用户无法与核直接交互,但与核的交互又是不可缺少的。

于是Shell便充当了用户与核的桥梁。

用户在Shell中输入命令,通过这个接口来操作相关的应用程序,然后应用程序再呼叫核心来运行相关工作。

Bash (一种 Unix Shell)

bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由布莱恩·福克斯创造。在1990年,Chet Ramey成为了主要的维护者。
来自 ——百度百科

Bash是大多数Linux系统以及Mac OS X默认的Shell,它能运行于大多数类Unix风格的操作系统之上

十分常用普遍又好用

so ...

可以用这样的一张图来表明他们的关系

原文地址:https://www.cnblogs.com/Skyminer/p/9737959.html

时间: 2024-10-16 04:06:22

Kernel,Shell,Bash 的关系的相关文章

什么是Shell? bash是干啥的? 有什么关系

什么是Shell? bash是干啥的?  有什么关系        shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. shell 是一个命令语言解释器(command-language interpreter).拥有自己内建的 shell 命令集.此外,shell也能被系统中其他有效的Linux 实用程序和应用程序(utilities and application programs)

[Shell]Bash基本功能:多命令顺序执行与管道符

/*----------------------------------------------------------------------------------------------- @黑眼诗人 <www.chenwei.ws> -----------------------------------------------------------------------------------------------*/ 一. 多命令顺序执行 分号(;)        逻辑与(&a

Linux Shell的父子关系及内建命令

Linux Shell的父子关系及内建命令 Shell的类型 系统启动什么样的shell程序取决于你个人的用户ID配置.在/etc/passwd文件中,在用户ID记录的第7个字段中列出了默认的shell程序.只要用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器,默认的shell程序就会开始运行. 在下面的例子中,用户xiaoyu使用了GNU bash shell作为自己的默认shell程序: 1 [email protected]:/$ cat /etc/passwd 2 [...] 3

[Shell]Bash基本功能:通配符与特殊符号

/*------------------------------------------------------------------------------------------- @黑眼诗人 <www.chenwei.ws> --------------------------------------------------------------------------------------------*/ 一. 通配符: ?    匹配一个任意字符. *    匹配0个一个或多个

shell bash判断文件或文件夹是否存在

shell bash判断文件或文件夹是否存在 1, #如果文件夹不存在,创建文件夹 folder="log" if [ ! -d "${folder}" ]; then mkdir ${folder} fi 2.判断文件是否存在 file="/var/www/log.txt" # -f 参数判断 $file 是否存在 if [ ! -f "$file" ]; then touch "$file" fi. 3

python 捕获 shell/bash 脚本的输出结果

#!/usr/bin/python## get subprocess module import subprocess ## call date command ##p = subprocess.Popen("date", stdout=subprocess.PIPE, shell=True) ## Talk with date command i.e. read data from stdout and stderr. Store this info in tuple ## Inte

Linux Shell Bash 带有特殊含义的退出码

Linux Shell Bash 带有特殊含义的退出码 用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行. 常用参数 格式:exit n 退出.设置退出码为n.(Cause the shell to exit with a status of n.) 格式:exit 退出.退出码不变,即为最后一个命令的退出码.(If n is omitted, the exit status is that of the  last  command executed. )

shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符

shell运算符有很多,关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符 1,算术运算符 原声bash 不支持简单的算术运算,可以使用expr 工具 两点注意: 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样. 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边. #!/bin/basha=10b=20rst=`expr 2 + 2`echo '2+2 =' ${rst} rst=`exp

shell,bash,git bash,xshell,ssh

一:shell是linux/unix系统的外壳,也可以理解为命令行接口,就是你输入并执行命令行的地方.bash(born again shell)是shell的一种,最常用的shell之一.你在你的linux上运行: ps | grep $$;如果运行结果为bash,就说明当前默认shell是bash. Shell基本上是一个命令解释器,类似于DOS下的command.它接收用户命令(如ls等),然后调用相应的应用程序.较为通用的shell有标准的Bourne shell (sh)和C shel