Linux Shell 001-Bash简介

本节关键字:Linux、Bash Shell、shell分类
相关指令:bash、sh、cat

Shell的介绍

计算机只能认识(识别)机器语言(0和1),如(11000000 这种)。但是,我们的程序猿们不能直接去写01这样的代码,所以,要想将程序猿所开发的代码在计算机上运行,就必须找”人”(工具)来翻译成机器语言,这个”人”(工具)就是我们常常所说的“编译器“或者”解释器“
1、编程语言分类
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++
解释型语言:程序不需要编译,程序在运行时由解释器翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Python/JavaScript/ Perl /ruby/Shell等都是解释型语言。

编译型语言比解释型语言速度较快,但是不如解释型语言跨平台性好。如果做底层开发或者大型应用程序或者操作系开发一般都用编译型语言;如果是一些服务器脚本及一些辅助的接口,对速度要求不高、对各个平台的兼容性有要求的话则一般都用解释型语言。

shell介于内核与用户之间,负责命令的解释

Shell的种类

可以通过Linux配置文件/etc/shells查看shell的种类

cat /etc/shells
shell名称说明
/bin/sh是bash的一个快捷方式
/bin/bashbash是大多数Linux默认的shell,包含的功能几乎可以涵盖shell所有的功能
/sbin/nologin表示非交互,不能登录操作系统
/bin/dash小巧,高效,功能相比少一些
/bin/csh具有C语言风格的一种shell,具有许多特性,但也有一些缺陷
/bin/tcsh是csh的增强版,完全兼容csh

终端和shell之间有什么关系?