Linux基础概念 Shell到底是什么?

Linux基础概念 Shell到底是什么?

一、引言

1、认识Bash这个Shell
2、Linux中有哪些Shell

二、Bash介绍及内容

1、认识Bash这个Shell
  管理整个计算机硬件就是操作系统的内核,而内核是需要被保护的,不能让用户随便去修改不然系统崩溃了怎么办?所以一般用户只能通过Shell来跟内核沟通。
  什么是Shell?就是与内核沟通的界面、应用程序、KDE等等。比如你要播放音乐,你的计算机通过你在Shell输入的打开音乐的命令,Shell在告诉操作系统的内核用户希望打开音乐,内核在通过cpu调度、内存管理、磁盘输入输出等工作,将硬件调动,这时硬件声卡才会工作,硬件才是实际的工作者。
  操作系统其实是一组软件,由于这组软件在控制整个硬件与管理系统的活动监测,如果这组软件能被用户随意操作,若用户使用不当,将会使整个系统崩溃。(操作系统管理的就是整个硬件功能)Linux基础概念 Shell到底是什么?_第1张图片
  壳程序(Shell)的功能只是提供用户操作系统的界面,这个壳程序需要调用其他软件才能完整工作。例如很多命令man、chmod、chown、chown、vi、fdisk、mkfs等命令,这些命令都是独立的应用程序,但是我们可以通过壳程序(Shell)来操作这些应用程序,当然Shell也有自带的命令,让这些应用程序调用内核来执行所需任务。
现在明白了吧,Bash是Shell的一种。

2、Linux中有哪些Shell
  你可以自己检查一下/etc/shells这个文件,里面就是你的Linux所包含的Shell。
Linux基础概念 Shell到底是什么?_第2张图片
在上图中其实最常用的就是bash、tcsh、csh、sh、nologin这些shell。

  这些shell都是依据Linux发展者的不同所创造出的不同版本。就像是有红帽Linux、有ubunto、有DVL等等不同的Linux操作系统。
bash:基准于GNU的框架下发展出的Shell。
csh:语法有点类似于c语言的Shell。
tcsh:整合了csh,提供更多的功能。
sh:已经被bash所替换。
nologin:奇怪的shell,这个shell可以让用户无法登录主机。
注:系统默认的是Bash

  为什么系统上合法的Shell要写入/etc/shells这个文件呢?这是因为系统某些服务运行过程中,会去检查用户能够使用的Shell,而这些shell的查询就是借由/etc/shells这个文件。
  用户什么时候可以取得shell来工作?用户默认会取得哪一个shell?当用户登录的时候,系统就会给我一个shell让我来用,而这个登录取得的Shell就记录在/etc/passwd这个文件内。
Linux基础概念 Shell到底是什么?_第3张图片
每一行为一个用户,末尾都是每一个用户默认的Shell,例如第一行root的默认shell就是Bash。

♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥

若对Linux基础知识感兴趣的可以关注一下博主,我会持续更新Linux基础知识

你可能感兴趣的:(Linux基础概念,linux,操作系统,内核,运维)