Shell概述

Shell是一个命令行解释器(程序 -> 依赖ASCII码表翻译为二进制 -> Linux内核(发送请求)-> 运行程序),它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至时编写一些程序。

Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令

Shell分类

  • Bourne Shell:主文件名为sh,从1979年起Unix就开始使用Bourne Shell
  • C Shell:主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名

Shell的两种主要语法类型有Bourne和C,彼此不兼容。
Bourne家族主要包括sh,ksh,Bash(Linux使用的标准Shell,不区分发行版),psh,zsh;
C家族(Unix使用)主要包括:csh,tcsh(和Bash语法,配置微小区别)

Linux,Unix的主要区别: Shell的不同

1
2
3
4
5
6
7
8
9
10
echo $SHELL
#查看Shell
cat /etc/shells
#查看Linux支持的shell
sh
#进入sh模式
exit
#关闭模式

Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell
Bourne Again Shell (bash) 是兼容Bourne Shell的一种相当于升级版本,注意命令bash中的b是小写字母