Shell基础概念

shell是什么

当我们谈到命令行时,我们实际上是指shell。 shell是一个应用程序,它从键盘读取命令然后交由操作系统来执行,来访问或者实现对操作系统的管理。所有 Linux 发行版都有默认的shell,一般是bash shell,源自GNU Project 。“bash”是“Bourne Again Shell”首字母缩写,bash 是 sh 的增强版本。

终端

在图形界面操作系统下,我们需要一个额外的程序来与shell交互,这个程序就是终端模拟器,在 Ubuntu 系统下的终端叫gnome-terminal。kde桌面环境自带的是konsole,如redhat6,凝思80等系统的终端。

不同的shell

sh

sh的全称是Bourne shell,由AT&T公司的Steve Bourne开发,为了纪念他,就用他的名字命名了。

sh是UNIX上的标准shell,很多UNIX版本都配有sh。sh是第一个流行的Shell。

bash

bash shell是大多数Linux的默认shell。

bash由GNU组织开发,保持了对sh shell的兼容性,是各种Linux发行版默认配置的 shell。

尽管如此,bash和sh还是有一些不同之处:

  • 一方面,bash扩展了一些命令和参数;
  • 另一方面,bash并不完全和sh;
  • 兼容,它们有些行为并不一致,但在大多数企业运维的情况下区别不大,特殊场景可以使用bash代替sh。

csh

sh之后另一个广为流传的shell是由柏克莱大学的Bill Joy设计的,这个shell的语法有点类似C语言,所以才得名为C shell ,简称为csh。

tcsh

tcsh是csh的增强版,加入了命令补全功能,提供了更加强大的语法支持。

ash

一个简单的轻量级的Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容。

其它

查看当前终端用的是什么shell?

echo $SHELL

切换到其它shell,如bash shell

exec bash

你可能感兴趣的:(Linux,bash,linux)