在shel1内部的。还有一些命令,例如拷贝命令cp和移动命令rm, 是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关 心一个命令是建立在Shel1内部还是一个单独的程序。 Shell运行时,首先检查命令是否是内部命令,若不是再检查是 否是一个应用程序(这里的应用程序可以是 Linux本身的实用程序, 如1s和rm,也可以是购买的商业程序,如xv,或者是自由软件,如 emacs)。然后 Shell在搜索路径里寻找应用程序(搜索路径就是一个 能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令 并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如 果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并 传给 Linux内核。 1.1.2She1l自身就是一个解释型的程序设计语言。 She1l程序设计语言支持绝大多数在高级语言中能见到的程序元 素,如函数、变量、数组和程序控制结构。 Shell编程语言简单易学 任何在提示符中能键入的命令都能放到一个可执行的Shel程序中。 1.1.3Shel1的工作原理 当普通用户成功登录,系统将执行一个称为She11的程序。正是 Shell进程提供了命令行提示符。作为默认值,对普通用户用“$” 作提示符,对超级用户(root)用“#”作提示符。一旦出现了shel1 提示符,就可以键入命令名称及命令所需要的参数。Shel1将执行这 些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生 了大量的输出,可以从键盘上按ctrl+c发出中断信号来中断它(在 正常结束之前,中止它的执行)。 当用户准备结束登录对话进程时,可以键入1 gout命令、exit 命令或文件结束符(EOF)(按ctr1+d实现),结束Shel1的工作状态。 1.2She1l与 Linux内核的管理 She11、用户与 Linux操作系统内核之间的关系如下图6-1所示。 2|(amx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn2 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 在 shell 内部的。还有一些命令,例如拷贝命令 cp 和移动命令 rm, 是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关 心一个命令是建立在 Shell 内部还是一个单独的程序。 Shell 运行时,首先检查命令是否是内部命令,若不是再检查是 否是一个应用程序(这里的应用程序可以是 Linux 本身的实用程序, 如 ls 和 rm,也可以是购买的商业程序,如 xv,或者是自由软件,如 emacs)。然后 Shell 在搜索路径里寻找应用程序(搜索路径就是一个 能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令 并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如 果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并 传给 Linux 内核。 1.1.2Shell 自身就是一个解释型的程序设计语言。 Shell程序设计语言支持绝大多数在高级语言中能见到的程序元 素,如函数、变量、数组和程序控制结构。Shell 编程语言简单易学, 任何在提示符中能键入的命令都能放到一个可执行的 Shell 程序中。 1.1.3Shell 的工作原理 当普通用户成功登录,系统将执行一个称为 Shell 的程序。正是 Shell 进程提供了命令行提示符。作为默认值,对普通用户用“$” 作提示符,对超级用户(root)用“#”作提示符。一旦出现了 shell 提示符,就可以键入命令名称及命令所需要的参数。Shell 将执行这 些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生 了大量的输出,可以从键盘上按 ctrl+c 发出中断信号来中断它(在 正常结束之前,中止它的执行)。 当用户准备结束登录对话进程时,可以键入 logout 命令、exit 命令或文件结束符(EOF)(按 ctrl+d 实现),结束 Shell 的工作状态。 1.2Shell 与 Linux 内核的管理 Shell、用户与Linux操作系统内核之间的关系如下图6-1所示