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

编程知识 更新时间:2023-04-06 12:09:41

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

一、引言

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

二、Bash介绍及内容

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

2、Linux中有哪些Shell
  你可以自己检查一下/etc/shells这个文件,里面就是你的Linux所包含的Shell。

在上图中其实最常用的就是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这个文件内。

每一行为一个用户,末尾都是每一个用户默认的Shell,例如第一行root的默认shell就是Bash。

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

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

更多推荐

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

本文发布于:2023-04-06 12:09:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/67e22f3ae11872dc5b400321874adf36.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:到底是什么   概念   基础   Linux   Shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 49447文章数
  • 14阅读数
  • 0评论数