- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 shell的基础知识
目标
完成此章学习后,你将掌握下列内容:
描述shell的作用。
描述某用户登录时发生的事情。
描述用户环境的参数及其功能。
设置和修改shell参数。
理解并能修改特定的环境参数,如PATH和TERM。
配置用户环境,使之能够配合某特定的应用程序。
7.1 什么是shell
注释
shell作为程序,是一个具有交互性的命令行解释器。它独立于操作系统。这种设计思路使用户可以灵活地选择最适合用户要求的接口。shell的作用在于等你键入命令、执行一些特定的功能,然后将经它解释的命令传到操作系统(内核)执行。
本章内容将介绍POSIX shell的交互性特点。POSIX shell不仅仅执行用户的命令,还通过与用户交互,完成其他功能,且大多数功能在执行用户命令之前就完成了。
shell的功能如下:
搜索命令并执行相关的程序。
将shell未指定数值的变量的值替换为shell变量的值。
对命令进行替换。
用文件名生成字符补齐文件名。
控制I/O重定向和管道。
提供解释性的编程接口,包括测试、分支和循环。
当你登录到UNIX系统时,shell会先为你的终端会话过程定义一些特定的特征,然后显示你的提示符。这个提示符在POSIX、Bourne和 K shell中被默认为一个$ 符号。C shell的默认提示符是一个百分比符号(%)。
7.2 常用的shell
注释
POSIX是一个遵从POSIX标准的命令编程语言和命令解释器,位于/usr/bin/sh。它可以执行从终端和文件中读来的命令。这个shell能够和当前的POSIX标准保持一致,在HP-UX面世时这个标准已被人们所采用。POSIX shell在很多方面与Korn shell相似。它支持历史命令、作业控制,还有其他多种有用的功能。
Korn shell是一个命令编程语言和命令解释器,位于/usr/bin/ksh。它可以执行从终端和文件中读来的命令。与POSIX shell相似,它也支持历史命令、作业管理,还有其他多种有用的功能。Korn shell由ATT Bell实验室的David Korn开发而成。
Bourne shell是一个命令编程语言和命令解释器,位于/usr/old/bin/sh。它可以执行从终端和文件中读来的命令。这个shell缺少许多POSIX shell 和Korn shell的特征。Bourne shell由Stephen R. Bourne开发,是ATT UNIX最初采用的shell。
C shell是一个命令语言解释器,支持历史命令缓存、类似C语言的语法和作业控制。它由加州大学伯克利分校的William Joy开发。
rsh和 rksh是Bourne shell和Korn shell相应的限制版。限制版执行环境的功能比一般的shell受到的限制要多。限制版的shell工作起来就像有几个功能不能实现的标准shell。使用限制版shell的用户不能进行以下工作:
修改目录。
重设PATH这个环境变量。
在路径名中使用“/”这个字符。
重定向输出。
keyshell是标准shell的扩展版。它提供层次性的软键菜单,为用户写命令行提供上下文相关的帮助。keysh由HP和ATT开发。各种shell的特征比较见表7-1。
表7-1 各种shell的特征比较
特 征 描 述 POSIX Bourne Korn C 历史命令 命令可以存在缓存中供修改和重复使用 是 否 是 是 命令行编辑 用文本编辑器修改当前或以前的命令行 是 否 是 否 文件名补齐 在命令行自动完成文件名的键入 是 否 是 是 命令别名 用户可以重命名命令,自动包括命令的选项或缩短长命令行 是 否 是 是 限制版 一个安全性特征,其环境的功能受到限制 是 是 是 否 作业控制 跟踪和访问在后台运行的进程 是 否 是 是 7.3 POSIX shell的特征
注释
UNIX提供的其中一种shell是POSIX shell。 这个shell具有许多Korn shell拥有但Bourne shell没有的特征。即使你不会用到POSIX shell所有的高级特征,但你会发现它提供了一个非常方便的用户接口。以下是POSIX shell的一小部分特征:
历史命令
命令行恢复和编辑
作业控制
文件名补齐
别名命令
增强的cd 命令用法
高级的编程功能
7.4 别名化
注释
别名是命令的一个新名字。使用别名可以缩短长命令行,创建新的命令,用别名命令的功能替换原标准命令的功能从而使标准命令执行起来跟以前不同。别名可以是一个字母或者一个简短的单词。如,许多人常用命令ps –ef。其实,用psf更方便。可以用命令alias创建一
文档评论(0)