Linux Shell

Posted DH_青叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Shell相关的知识,希望对你有一定的参考价值。

什么是 Shell

  1. shell 是用户和 Linux 内核之间的接口程序,当从 shell 或其他程序向 Linux 传递命令时,内核会做出相应的反应;
  2. shell 是一个命令语言解释器,它拥有自己内建的 shell 命令集,也能被系统中其他应用程序所调用;
  3. shell 是一个解释型的程序设计语言,shell 程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。Shell 编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的 shell 程序中。

  注1:用户在提示符下输入的命令都由 Shell 先解释然后传给 Linux 核心:  

  当普通用户成功登录,系统将执行一个称为 Shell 的程序。正是 Shell 进程提供了命令行提示符。作为默认值(Turbo Linux 系统默认的 Shell 是 BASH),对普通用户用 “$” 作提示符,对超级用户(root)用 “#” 作提示符。一旦出现了 Shell 提示符,就可以键入命令名称及命令所需要的参数。Shell 将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按 ctrl + c 发出中断信号来中断它(在正常结束之前,中止它的执行)。

  注2:有一些命令,比如改变工作目录命令 cd,是包含在 Shell 内部的。还有一些命令,例如拷贝命令 cp 和移动命令 mv,是存在于文件系统中某个目录下的单独的程序。

  对用户而言,不必关心一个命令是建立在 Shell 内部还是一个单独的程序。Shell 首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是 Linux 本身的实用程序,如 ls 和 rm,也可以是购买的商业程序,如 xv,或者是自由软件,如 emacs)。然后 Shell 在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给  Linux 内核。

 

 


以上是关于Linux Shell的主要内容,如果未能解决你的问题,请参考以下文章

shellLinux shell 位置变量详解

ShellLinux中分区脚本

SHELLLinux下安装Oracle Client

shellLinux shell 之 case 详解

shellLinux shell函数入门讲解

shellLinux shell 直接赋值和间接赋值