ID = linux_ask_03
Question
What is bash?
Answer
本质上是Linux默认的Shell
(Linux不止这一种Shell)。
Shell作为用户接口,充当了用户与Kernel之间沟通桥梁的作用。
对于一个操作系统来说,shell相当于内核kernel外的一层外壳,作为用户接口。
一般来说,操作系统的接口分为两类:
-
- CLI:command line interface命令行接口
常见的有:sh csh ksh zsh bash tcsh
- CLI:command line interface命令行接口
-
- GUI:graphical user interface 图形化用户接口
常见的有:Gnome KDE Xfce
- GUI:graphical user interface 图形化用户接口
bash及其特性:
-
- bash实质上是一个可执行程序,一个用户的工作环境。
-
- 在每一个shell下可以再打开一个shell,新打开的shell可以称为子shell,每一个shell之间
是相互独立的。
- 在每一个shell下可以再打开一个shell,新打开的shell可以称为子shell,每一个shell之间
-
- 可以使用pstree命令查看当前shell下的子shell个数。
Extension - Shell[2]
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
bash 是一个为GNU项目编写的Unix shell,也就是linux用的shell。
Shell俗称壳(用来区别于内核du),是指“提供使用者使用界面”的软件,就是一个命令行解释器。
BASH是SHELL的一种,是大多数LINUX发行版默认的SHELL,除BASH SHELL外还有C SHELL等其它类型的SHELL。
EXtension - Core of linux[3]
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,bai很大程度上也是因为这两者的基本思想十分相近。
Reference
[1] Linux bash介绍与使用
[2] Shell 教程
[3] 在linux下 什么是bash.什么又是shell