学习 Linux,101: Linux 命令行(2)

bash shell 是 Linux 中的众多可用 shell 的其中之一。它也被称为 Bourne-again shell,这是以早期 shell(/bin/sh)的创建者 Stephen Bourne 命名的。Bash 在本质上是与 sh 兼容的,但是在函数和编程功能方面提供了许多改进。它合并了来自 Korn shell (ksh) 和 C shell (csh) 的特性,并且准备成为与 POSIX 兼容的 shell。

在我们深入研究 bash 之前,首先回忆一下,shell 是一个可以接受并执行命令的程序。它还支持编程结构,允许从比较小的部分构建复杂的命令。这些复杂的命令,即脚本,可以被保存为文件,从而构成新的命令。事实上,典型 Linux 系统中的许多命令都是脚本。

Shells 具有一些内置 命令,比如 cd、break 和 exec。其他命令是外部的。

Shell 还使用三个标准 I/O 流:

stdin 是标准输入流,为命令提供输入。 stdout 是标准输出流,为命令显示输出。 stderr 是标准错误流,显示命令中的错误输出。

输入流为程序提供输入,通常来自终端键盘。输出流输出文本字符,通常输出到终端。终端最初是一个 ASCII 打字机或显示终端,但是现在往往为图形桌面上的一个窗口。有关重定向这些标准 I/O 流的更多细节将在本 系列 系列的另一篇文章中介绍。

在本文后面的内容中,我们将假设您知道如何获得一个 shell 提示。如果您不知道的话,请参考 developerWorks 文章 “Linux 开发新手基本任务”,其中介绍了如何完成这个操作以及其他内容。

如果使用不带图形桌面的 Linux 系统,或者在一个图形桌面中打开终端窗口,您将看到一个提示,可能类似于清单 1 所示。


清单 1. 一些典型的用户提示
[db2inst1@echidna db2inst1]$ ian@lyrebird:~> $  

如果作为根用户(或者超级用户)登录,您看到的提示应该如清单 2 所示。


清单 2. 超级用户或根用户的提示示例
[root@echidna ~]# lyrebird:~ # #  

根用户具有相当大的权力,因此使用时应十分小心。当您拥有根权限时,大部分提示都包括一个 # 符号。普通用户的权限通常使用一个不同的字符加以区别,通常为一个美元符号($)。您实际看到的提示可能不同于本文显示的示例。您的提示也许包括用户名、主机名、当前目录、日期或输出提示的时间,等等。

这些文章包含的代码示例剪切自真实的 Linux 系统,使用了默认的提示。我们的根提示包含一个拖尾 # 号,因此您可以将它们与普通用户提示区分开,因为后者使用了一个拖尾 $ 符号。许多介绍此主题的书籍都一致使用这个约定。如果某些内容出错的话,那么检查示例中的提示。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27843.html