日期:2014-05-16  浏览次数:20789 次

linux shell介绍

什么是shell

shell是一种命令解释器,它提供了用户和操作系统之间的交互接口。

shell是面向命令行的,而 X Window 则是图形界面。

你在命令行输入命令,shell进行解释,然后送往操作系统执行。

shell可以执行 Linux 的系统内部命令,也可以执行应用程序。你还可以利用shell编程,执行复杂的命令程序。

?

Linux 提供几种shell程序以供选择。常用的有 Bourne (bsh)、C(csh)和Korn (ksh)。各个shell都能提供基本的功能,又有其各自的特点。 ?

?

Bourne shell是由Steven Bourne 编写的,是UNIX 的缺省shell。Bourne shell的shell编程能力很强。但它不能处理命令的用户交互特征。

?

bash 是Bourne shell的增强版。

?

Cshell是由加利福尼亚大学伯克利分校的Bill Joy编写的。它能提供Bourne shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。很多人认为, C shell的编程能力不如Bourne shell,但它的语法和C语言类似,所以C程序员将发现C shell很顺手。tcsh 是Cshell的增强版本和Cshell完全兼容。


K o r nshell是由Dave Korn 编写的。Korn shell融合了C shell和Bourne shell的优点,并和Bourne shell完全兼容。 Korn shell的效率很高,其命令交互界面和编程交互界面都很不错。

?

Public Domain Korn shell( pdksh)是Korn shell的增强版。

?

bash 是大多数Linux系统的缺省shell。它克服了Bourne shell的缺点,又和Bourne shell完全兼容。 ?

?

Bash有以下的特点:

1 补全命令行。 当你在bash 命令提示符下输入命令或程序名时,你不必输全命令或程序名,按Tab 键,bash将自动补全命令或程序名。

?

2 通配符。 在bash下可以使用通配符 * 和?。*可以替代多个字符,而?则替代一个字符。

?

3 历史命令。 bash 能自动跟踪你每次输入的命令,并把输入的命令保存在历史列表缓冲区。缓冲区的大小由HISTSIZE 变量控制。当你每次登录后,home 目录下的 .bash_history 文件将初始化你的历史列表缓冲区。你也能通过history 和fc 命令执行、编辑历史命令。

4别名。 在bash下,可用alias 和unalias 命令给命令或可执行程序起别名和清除别名。这样你可以用自己习惯的方式输入命令。