首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell的简介

什么是shell?

shell是一个命令解释器,它向用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。

最底层是硬件,通过内核来管理硬件。外部人为键入的命令,内核并不能识别。外部的命令都是a、b、c等这些字母组成,我们知道,计算机能够识别的只有0和1这样的机器语言。所以我们需要把命令转换成机器能够识别的机器语言,同时还需要把机器语言翻译成命令。充当双向“翻译”的工作,这就是shell。

shell最主要的工作是:键入的命令通过shell翻译成内核能够识别的机器语言,内核接收到机器语言按照要求去调用硬件完成操作。同时,操作完成后硬件把执行结果返回给内核,内核把机器语言的结果通过shell翻译成我们能够看懂的a、b、c,最后呈现结果交还给用户。shell其实就是Linux的交互界面,没有shell,也就无法敲入任何命令。对比windows,也有这种交互界面的说法,准确的讲是图形交互界面。

shell还有一个功能相当强大的编程语言,易编写,易调试,灵活性较强。shell是解释执行的脚本语言(也就是不需要先单独进行编译,而是命令执行过程中自动进行编译,所见即所得),在shell中可以直接调用Linux系统命令。

shell的分类有哪些呢?

1979年Unix就开始使用Bourne Shell,Bourne Shell在Linux中识别为sh。

C Shell主要在BSD版的Unix系统中使用,其语法和C语言类似而得名。

Bourne Shell与C Shell在语法上是不兼容的。

对Linux来说,shell主要指的是标准Bash Shell,语法与sh兼容。

默认情况下,Linux的shell有这些,如下图:

比如你需要切换sh,直接键入sh即可,exix退出。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191118A03VQY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券