初识Shell——Shell的概念、查看Shell

一、Shell的概念

该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核。

这层“代理”,在Linux下,这个命令行程序叫做 Shell。

Shell 是将内核、程序和用户连接了起来。

  • Shell 是一种脚本语言,我们编写完源码直接运行源码。
  • Shell 主要用来开发一些实用的、自动化的小工具。
  • Shell 脚本很适合处理纯文本类型的数据。
  • Shell 脚本的优势在于处理偏操作系统底层的业务。
  • 对于一些常见的系统脚本,使用 Shell 更符合 Linux 运维简单、易用、高效的三大原则。

二、几种常见的Shell

常见的 Shell 有 sh、bash、csh、tcsh、ash 等。

  • sh:是 UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。sh 是第一个流行的 Shell。
  • csh:这个 shell 的语法有点类似C语言,所以才得名为 C shell ,简称为 csh。
  • tsh:是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。
  • ash:简单的轻量级的 Shell,占用资源少,适合运行于低内存环境。
  • bash:是 Linux 的默认 shell。

三、查看Shell

Shell 是一个程序,一般都是放在/bin或者/user/bin目录下。
当前 Linux 系统可用的 Shell 都记录在/etc/shells文件中。
/etc/shells是一个纯文本文件,可以使用 cat 命令查看它。

代码如下:

$ cat /etc/shells

输出效果:
在这里插入图片描述
/bin/sh往往是指向/bin/bash的符号链接。

查看当前 Linux 的默认 Shell,那么可以输出 SHELL 环境变量:

$ echo $SHELL

输出效果:

在这里插入图片描述
证明输出结果默认的 Shell 是 bash。


补充知识点

①/etc是什么意思?为什么shells在etc下?
答:etc,是and so on的意思来源于法语的 et cetera,也就是等等的意思。至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留。

②cat /etc/shells是啥意思?
答:cat 命令用于连接文件并打印到标准输出设备上。总含义是查看计算机上可用的shell。
在这里插入图片描述

③echo $SHELL是啥意思?
答:echo是一个 Shell 命令,用来输出变量的值。SHELL是 Linux 系统中的环境变量,它指明了当前使用的 Shell 程序的位置,也就是使用的哪个 Shell。即输出环境变量SHELL的内容——/bin/bash。
SHELL是在别的地方定义过,如同C语言中变量一样,变量前面加上 $ 表示你要引用这个变量。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值