欢迎来到天天文库
浏览记录
ID:11114398
大小:67.00 KB
页数:7页
时间:2018-07-10
《系统管理员工具包- 充分利用 bash》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、系统管理员工具包:充分利用bash 关于本系列 典型的UNIX®管理员拥有一套经常用于辅助管理过程的关键实用工具、诀窍和系统。存在各种用于简化不同过程的关键实用工具、命令行链和脚本。其中一些工具来自于操作系统,而大部分的诀窍则于长期的经验积累和减轻系统管理员工作压力的要求。本系列文章主要专注于最大限度地利用各种UNIX环境中可用的工具,包括简化异构环境中的管理任务的方法。 Bash背景介绍 UNIX和Linux®环境下的Shell通常可归入两个类别之一,这两个类别基于最初的UNI
2、X版本所附带的原始Shell。它们分别是BourneShell和CShell,后者的独特之处在于其格式和结构类似于C编程语言的格式和结构。 BourneShell比CShell更容易使用和理解,但是对于您可能希望在Shell编程环境中完成的更复杂脚本编程,它可能就不太实用了。KornShell提供了BourneShell的易用性和附加的作业控制扩展(允许您容易地管理多个后台作业)、命令行编辑和历史记录,以及用于简化编程的附加CShell元素。 Bourne-againshell(bash)是一个开放
3、源代码项目,它组合了BourneShell的原理、CShell的编程环境、KornShell的扩展功能,以及它自己的许多扩展,这些扩展不仅为Shell脚本编程提供了丰富的环境,而且还用作交互式的shell环境,用于控制并与计算机交互。 命令行编辑和键绑定 bash中的主命令提示符同时提供了编辑命令行的能力和历史记录功能,后者记住各个命令行,以便您能够再次执行它们。 编辑功能意味着您可以在当前显示的命令行中向前和向后移动,以做出更改或纠正输入错误。在标准bash形式中,您可以使用光标键来执行基本的移
4、动。更广泛的命令(例如按单词向前和向后移动)可以通过Readline库来控制,该库在缺省情况下同时支持vi和emacs绑定。若要设置编辑模式,可以在命令行上或在引导文件中指定您的首选模式:$setediting-modeemacs。 例如,使用emacs编辑模式,以下键绑定将生效: Control-A此键绑定将当前位置定位到行开头。 Control-E此键绑定将当前位置定位到行尾。 Control-K此键绑定删除截止行尾的所有内容。 Meta-B此键绑定后退一个单词。 Meta-F此键绑定向
5、前推进一个单词。 Meta-D此键绑定删除当前单词。 使用内部bindbash命令,您实际上可以随心所欲地将任何键或组合绑定到某个特定的操作。首先,您可以通过使用-P选项(请参见清单1)来获取可用命令列表。 清单1.使用-P选项来获取可用命令列表$bind-PabortcanbefoundonC-g,C-xC-g,M-C-g.accept-linecanbefoundonC-j,C-m.alias-expand-lineisnotboundtoanykeysarroacs,您要使用以下命令:$bi
6、nd-x'C-e':emacs。 若要让bash中的键绑定在每次都启用,您可以设置.inputrc文件中的信息(然后此文件将影响所有启用了Readline的应用程序),或者您可以在启动脚本中放置特定的bash绑定,本文稍后将对此进行介绍。 命令历史记录 您输入的每个命令都被记录下来,以便您能够返回到该命令,并再次按原样运行它,或者编辑它并运行编辑后的版本。使用Control-P(上一个命令)和Control-N(下一个命令),您可以在命令历史记录中向后或向前移动(按反向的年代顺序)
7、。如果已经遍历完前面的所有命令,则只能移动到下一个命令。 如果您知道命令的内容,但是想不起它的位置,您可以使用Control-R来执行反向智能搜索。这将返回到与您键入的第一个字母相匹配的第一个命令(以反向顺序);随后键入的字母将使匹配变得越来越明确。一旦找到您想要的命令,按Return即可按原样运行它。若要编辑您找到的命令,可以使用光标键(或键绑定)来移动到您希望编辑的位置。 自定义提示符 所有Shell都允许您自定义命令行上显示的提示符,这通常是通过设置PS1变量来实现的。这通常仅限于能够设置某
8、个静态字符串,或者对于KornShell,您通常可以设置某个动态值,例如当前目录。 Bash进一步扩展了此功能,允许您包含用户名、主机名甚至隐藏字符(例如,设置颜色或设置窗口和Xterm标题所需的转义)。所指定的字符串将紧跟在显示提示符之前求值,因此它始终是最新的。 特定动态值的自定义扩展是使用一系列反斜杠字符来实现的。例如,若要设置包含用户名和当前目录最后一部分的典型提示符,可以使用以下命令:PS1=uM:SS。dd是日期,格式为工作
此文档下载收益归作者所有