4.2 bash Shell的使用 |
|
Linux系统登录后的默认Shell一般为bash,如无特别说明本章涉及的Shell均默认为bash。 bash主要提供以下功能:
● 别名
● 命令历史
● 命令补齐
● 命令行编辑
● 通配符
接下来将分别介绍Shell提供的每个功能。
bash Shell可以为命令起别名,例如标准的ls命令对文件和目录的显示是没有颜色的,使用过DOS系统的人更熟悉的是dir命令。什么情况下ls命令列出的文件和目录可以通过颜色来区分呢?答案是系统为ls命令设置别名时。
要查看当前系统中的命令别名,可以使用alias命令,如示例4-1所示。
【示例4-1】
设置命令别名使用alias命令,撤销命令别名使用unalias命令,使用方法如示例4-2所示。
【示例4-2】
设置完命令别名后,指定dir命令时相当于执行了“ls-l”命令。
为方便使用者,系统提供的bash支持历史命令功能,历史命令可以通过上下光标键来选择。另外,系统提供history命令来查看执行过的命令。
常用的history命令使用方式如示例4-3所示。
【示例4-3】
从上面的示例可以看出,通过bash提供的历史命令功能可以很方便地执行之前执行过的命令。“!!”表示执行最后一次执行的命令。
除以上功能外,Shell还可以执行指定序号的历史命令。如果执行过的历史命令参数较多,首先通过grep命令来查找需要的历史命令,然后再执行其历史命令序号,如示例4-4所示。首先找出含有start关键字的命令,共输出两个命令,其中的数值815、816表示命令的序号,如果想执行某条命令,可以使用“!num”的方式。
【示例4-4】
以上示例首先找到符合条件的命令,然后使用命令序号执行历史命令,执行效果与直接执行该命令时的效果相同。
bash有命令补齐的功能,当执行一个命令时,如果记不住命令的全部字母,只需要输入命令的前几个字母,然后按Tab键,系统会自动列出以所输入字符串开头的所有命令。当然这有一个前提,就是系统必须能通过输入的这几个字母确定唯一的命令,如果只输入一个“l”,而“l”开头的命令太多了,系统会无法确定。文件名和目录名也会自动补齐,而且必须是唯一的才可以。例如:在启动或停止Web服务时输入“./ap”,然后按Tab键,可以自动补全相关的命令,如示例4-5所示。
【示例4-5】
技巧
如果只知道命令的前几个字母,想不起命令的全称,也可以输入前几个字母后按两次Tab键,Shell会给出所有以这几个字母开头的命令。
为了提高用户的操作效率,bash提供了快捷的命令行编辑功能,使用表4.1列出的快捷方式可以对命令行的命令进行快速编辑,用户可作为参考,以下快捷键适用于当前登录的Shell环境。
表4.1 命令行编辑常用参数说明
(续表)
bash中常用的通配符有4个,如表4.2所示。使用通配符可以方便地完成一些需要匹配的需求,如忘记一个命令时可以使用通配符查找。
表4.2 Shell通配符
使用方法如示例4-6所示。
【示例4-6】