跳转到内容

Unix/组件快速入门

来自维基教科书,开放书籍,开放世界


Unix由三个组件组成

  1. 内核;
  2. Shell;以及
  3. 程序。

Unix的内核是操作系统的核心。它为程序分配时间和内存,并处理文件结构以及计算机系统不同部分(例如键盘和屏幕)之间的通信。

the shell 是用户和 Unix 内核之间的接口。它类似于您在运行命令cmd时 Windows 显示的“dos 盒”。当用户登录时,Unix 会检查他们的用户名和密码,然后启动一个名为 shell 的程序。Shell 解释用户输入的命令,并将它们传送到内核以执行。这些命令就是程序。

各种 Unix 系统提供了各种各样的 shell。专家用户可以自定义自己的 shell,用户可以在同一台机器上使用不同的 shell。

Shell 和内核一起工作,如下所示

  • 用户输入cat somefile 来显示一个文件;
  • Shell 找到程序 cat;
  • Shell 指示内核在 somefile 上运行程序 cat;
  • 当程序完成时,内核将控制权传递回 Shell 并显示 Unix 提示符。

哪个Shell?

[编辑 | 编辑源代码]

Unix 有许多不同的 shell。人们可能会非常依恋他们喜欢的 shell。流行的 shell 包括

  • sh - bourne shell
  • bash - bourne again shell
  • csh - c shell
  • ksh - Korn shell(奇怪的是,不是以乐队命名)
  • zsh - z shell

您可以在提示符下使用上述命令之一调用系统上安装的任何 shell。(请注意,这意味着您在 shell 内启动一个新 shell!)。我们现在不讨论不同 shell 之间的区别。当您开始编写 Unix Shell 脚本时,您可能希望选择一个 shell 并坚持使用它(如果可以)。每个 shell 都有它的拥护者。Bourne again shell 在许多脚本编写者中很受欢迎。Unix 社区中的一些人对 c shell 的脚本编写能力表示怀疑,但这在您对 Unix 有更多了解时就可以解决(参见 Csh 编程被认为是有害的)。

您可以在命令行提示符下键入 shell 名称来启动特定类型的 shell。

程序本身并不属于操作系统的一部分,但它们是为实现特定任务而开发的逻辑命令序列。它们通常包括在用户端运行的应用程序软件。

华夏公益教科书