欢迎来到之路教程(on itroad-com)
用户环境
shell 还提供了一个用户环境,我们可以使用初始化文件对其进行自定义。
这些文件包含用户环境特征的设置,例如:
- 用于查找命令的搜索路径。
- 新文件的默认权限。
- 其他程序使用的变量的值。
- 我们可以自定义的值。
什么是shell ?
shell 是一个程序,它提供用户和操作系统 (OS) 内核之间的接口。
当用户登录或者打开终端或者控制台窗口时,操作系统会为每个用户启动一个 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及其属性的简短比较。
Shell | Path | 默认提示符 (非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/bash | bash-x.xx$ | bash-x.xx# |
日期:2020-09-17 00:14:04 来源:oir作者:oir