欢迎来到之路教程(on itroad-com)

用户环境

shell 还提供了一个用户环境,我们可以使用初始化文件对其进行自定义。
这些文件包含用户环境特征的设置,例如:

  • 用于查找命令的搜索路径。
  • 新文件的默认权限。
  • 其他程序使用的变量的值。
  • 我们可以自定义的值。

什么是shell ?

shell 是一个程序,它提供用户和操作系统 (OS) 内核之间的接口。
当用户登录或者打开终端或者控制台窗口时,操作系统会为每个用户启动一个 shell。

内核是一个程序,它:

  • 控制所有计算机操作。
  • 协调所有正在执行的实用程序
  • 确保执行的实用程序不会相互干扰或者消耗所有系统资源。
  • 调度和管理所有系统进程。

通过与内核接口,shell 为用户提供了一种执行实用程序和程序的方法。

UNIX/Linux中什么是 Shell?什么是不同的shell ?

什么是不同的shell ?

以下部分描述了主要在 UNIX/Linux 操作系统上可用的 OS shell。
还描述了shell功能及其默认提示。

1. 伯恩shell

Bourne shell (sh) 由 AT&T 贝尔实验室的 Steve Bourne 编写,是最初的 UNIX shell。
由于其紧凑性和速度,它是 shell 编程的首选 shell。
Bourne shell 的缺点是它缺乏交互式使用的功能,例如调用以前的命令(历史)的能力。
Bourne shell 也缺乏内置的算术和逻辑表达式处理。

Bourne shell 是 Solaris 操作系统的默认 shell。
它是 Solaris 系统管理脚本的标准 shell。
对于 Bourne shell:

  • 命令全路径名是 /bin/sh 和 /sbin/sh 。
  • 非 root 用户默认提示是 $ 。
  • root 用户默认提示是 # 。

2. C shell

C shell程序 (csh):

  • 是由加州大学伯克利分校的 Bill Joy 编写的 UNIX 增强。
  • 用于交互式使用的集成功能,例如别名和命令历史记录。
  • 包括方便的编程功能,例如内置算术和类似 C 的表达式语法。

对于 C shell:

  • 命令全路径名是 /bin/csh 。
  • 非 root 用户默认提示是 hostname % 。
  • root 用户默认提示是 hostname # 。

3. Korn shell

Korn shell (ksh):

  • 由 AT&T 贝尔实验室的 David Korn 编写
  • 是 Bourne shell 的超集。
  • 支持 Bourne shell 中的所有内容。
  • 具有可与 C shell 中的交互功能相媲美的交互功能。
  • 包括方便的编程功能,如内置算术和类似 C 的数组、函数和字符串操作工具。
  • 比C shell 快。
  • 运行为 Bourne shell 编写的脚本。

对于 Korn shell:

  • 命令全路径名是 /bin/ksh 。
  • 非 root 用户默认提示是 $ 。
  • root 用户默认提示是 # 。

4. GNU Bourne-Again Shell

GNU Bourne-Again shell (bash):

  • 与 Bourne shell 兼容。
  • 结合了来自 Korn 和 C shell 的有用功能。
  • 具有自动映射以用于命令调用和编辑的箭头键。

对于 GNU Bourne-Again shell:

  • 命令全路径名是 /bin/bash 。
  • 非 root 用户的默认提示是 bash-x.xx$ 。 (其中x.xx表示shell版本号,例如bash-3.50$)
  • root 用户默认提示是 bash-x.xx# 。 (其中x.xx表示shell版本号,例如bash-3.50$#)

这是所有 4 种shell及其属性的简短比较。

ShellPath默认提示符 (非root 用户)默认提示符 (Root 用户)
The Bourne Shell (sh)/bin/sh and /sbin/sh$#
The C Shell (csh)/bin/csh%#
The Korn Shell (ksh)/bin/ksh$#
The GNU Bourne-Again Shell (Bash)/bin/bashbash-x.xx$bash-x.xx#
日期:2020-09-17 00:14:04 来源:oir作者:oir