一、Shell 概述:什么是 Shell
![](https://i-blog.csdnimg.cn/blog_migrate/29e871a7840ec2ca30049fa5f80e901d.png)
### --- shell说明
~~~ shell为命令解释器
~~~ shell可以把命令行翻译成机器语言,同时再把它的结果从机器语言反翻译成命令行
### --- shell的功能:
~~~ 提供一个操作的界面,可以执行命令输入把执行的命令翻译成0101,让内核可以读取,
~~~ 然后再把内核反馈的0101翻译成执行的结果显示出来shell也叫作shell编程,执行的shell脚本
二、shell的分类
shell类别 | 易学性 | 可移植性 | 编辑性 | 快捷性 |
Bourne Shell (sh) | 容易 | 好 | 较差 | 较差 |
Korn Shell (ksh) | 较难 | 较好 | 好 | 较好 |
Bourne Again (Bash) | 难 | 较好 | 好 | 好 |
POSIX Shell (psh) | 较难 | 好 | 好 | 较好 |
C Shell (csh) | 较难 | 差 | 较好 | 较好 |
TC Shell (tcsh) | 难 | 差 | 好 | 好 |
### --- Shell 的两种主要语法类型有 Bourne 和 C,这两种语法彼此不兼容。
~~~ Bourne 家族主要包括 sh、ksh、Bash、psh、zsh;
~~~ C 家族主要包括:csh、tcsh (Bash 和 zsh 在不同程度上支持 csh 的法)。
~~~ 我们可以通过/etc/shells 文件来查询 Linux 支持的 Shell。命令如下:
### --- 查看当前linux系统支持的shell类型
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin