admin 管理员组

文章数量: 1087652


2024年6月27日发(作者:网站设计需要用什么软件)

维普资讯

2008年第1期 福建电脑 45 

浅析Bash She11的几大特性 

孙娟,彭兴旺 

(九江学院信息科学与技术学院江西九江332005) 

【摘要】:本文描述了sheII的概念、作用及种类,重点介绍了-3前大多数Linux系统中默认的bash shell的十大特性。 

【关键词】:Shell Linux Bash 

shell是一个命令语言解释器(command—language inter- 

另一个形式是用bash的内部命令history和fc(fⅨ命令)命 

preter1。拥有自己内建的slleU命令集。此外,shell也能被系统中 

令来执行和编辑历史命令。格式如下: 

其他有效的Linux实用程序和应用程序(utilities and application 

history[一dwlaln][lifename] 

Drograms)所调用。用户在提示符下输入的命令都由shell解析后 

fc[一e editor_name]卜n】卜1]卜r][l1rsq[1sat] 

传给Linux核心.sheI1搭起了用户与操作系统的桥梁。 

这两个命令里所有参数都是可选的。 

在 nux系统里可以使用多种不同的shell。最常用的几种 

3、通配符 

是Bourne shell(sh),C shell(csh),和Kom shel(ksh)。三种shell 

nu】【有同DOS一样的通配符” 和”?”。其中” 匹配任意 

都有它们的优缺点。Bourne Again shell(bash),是Bourne shell的 

个数的任意字符.”?”匹配一个任意字符。 are 表示所有的名字 

扩展。bash与Bourne shell完全向后兼容,并且在Bourne shell的 

中间含有aI.e的文件,而?are?则表示名字共有5个字母,第24 

基础上增加和增强了很多特性。bash也包含了很多C和Kom 个字母为aI.e的文件。 

sheU里的优点。bash有很灵活和强大的编程接口,同时又提供 

在linux还有个独特的匹配方法,用几。例如: 

了友好的用户界面 

cp[c-g] /home/mydir 

bash是当前大多数Linux系统的缺省shel1.主要是因为它 几可以举例,也可以做范围。『abc】表示或者是a或是b或是 

具有以下十大特性: 

C;[c—g】表示从C到g。所以上面的cp[c一 /home/mydir就表示 

1、命令补全 

将以c.d、e、f、g开头的文件复制到/llome,mydir目录里。 

由于Linux命令繁多.要快速输入或查找命令或拼写相似 在几里指定的范围还可以更复杂,例如:f0—9,a—z】。 

的所有命令的名字.hsh中提供了一个方便快捷的命令补全功 

shel在分析字符的范围的时候.是按照ASCII码的值来往 

能。可以输入命令名的前几个字母。然后按Tab健,如果输人了 

下排序的。在ASCII码里A的值比a要小,所以输A[A—a]就表 

足够的字符.能够惟一标识某文件、命令或目录名,则Bash能自 

示从A一直到Z的字母以及z到a之间的其他字符。 

动补全该命令。如果只输入前几个字母。不能唯一确定某程序 而若输A[a—A]就会是以下的表示: 

名,必须按两次Tab键才能成功。shell将会显示出所有和输入的 

[root@echo root]#ls[a—A] 

字母相匹配的命令。 

ls:[a-A] :No such ifle or directory 

例如,输入:¥/usr/lo 

因为,从a到A是逆序,shel1只接受顺序的范围,改变为『A— 

如果只有一个文件、命令或目录名以/usr/lo开头.只要按 a1就能正常显示了。 

Tab键,则bash会自动补全余下部分,大多数系统上,/usr/lo惟 

[root@echo ro0t s[A-a] 

表示/usr/local目录.所以在这里它自动填成/usr/local。 

Xwindow.txt adduser at

_

help 

当然,有时提供的信息不够,Bash无法补全余下部分,这 

4、管道 

时.shell可以提供各种可能的匹配。 管道用于将一系列命令联系起来.也就是将一个命令的输 

例如,输入:¥/usr/l 

出通过一个无形的”管道”作为另外一个命令的输入 管道命令 

则/usr/local和/usr/lib都匹配.如果按Tab键.则bash不知 

是” 例如: 

选哪一项,因此无法补全余下部分。只有再次按Tab,则Bash显 

[root@echo root]#cat dir.outlgrep”test’’1wc-1 

示如下各种可能的选项: 管道将cat命令的输出(列出dir.out文件的内容)送给grep 

lib local 

命令,grep在输入里查找单词test,grep的输出则是所有包含单 

你可以随意输入更多字符,唯一标识所要名称.然后再次按 词test的行,这个输出又被送给WC命令.WC命令统计出输入的 

Tab。比如再输人一个O并再次按Tab.则Bash将名称填成,usr, 行数。 

lcoal。 

5、别名 

2、历史记录 

bash的另一个方便之处是命令别名。命令别名通常是其他 

用不了多久.你就会感觉到一遍遍地重复键入相同命令显 

命令的缩写,用来减少键盘输入。例如.你经常要键入如下的命 

得很麻烦,而且一个小小的键入错误会破坏整个命令行 但 

令,你就可以为它建立一个别名来减少工作量: 

Bash能自动跟踪用户每次输入的命令.并把输入的命令保存在 

cat/home/soft/myfile/life.txt 

历史列表缓冲区。缓冲区的大小由HISTSIZE变量控制.当用户 假如为这个长命令建立一个名为rea删e的别名.在bash 

登录后。home目录下的”.bash 

_

history 

”文件将初始化历史列表缓提示符下键入如下命令: 

冲区。 

alisa readflie='eat/home/soft/myfile/flie.txt 

第一种调用历史记录的简便方法是使用命令行历史。通过 

现在,除非你退出bash,不然键入rea曲le将和原来的长命 

使用向上和向下方向键来上下滚动,调出已经键入过的命令。 

令有同样的作用。如果想取消别名,可以使用下面的命令: 

第二种调用历史记录的方法是使用命令历史文件 它有两种形 

unalisa readfile 

式: 

6、输入重定向 

个形式是用history来显示历史命令.格式如下: 

输入重定向用于改变一个命令的输入。当使用一个不接受 

history[hi 

文件名为输入参数的命令,而需要的输入又是在一个已存在的 

当history命令没有参数时.整个历史命令列表的内容将被 

文件里时.就可以用输入重定向”<”。 

显示出来。使用n参数的作用是将最后n个历史命令列出 例 例如,用”<n把file文件内容传给wc命令。格式如下: 

如:history 8显示最后8个命令。 

WC<flie 

维普资讯

18 4 3 

建电脑 2008年第1期 

7、输出重定向 

输出重定向比输入重定向更为常用。它经常用于将命令的 

结果输入到文件中.而不是屏幕上。常常用语保存一个命令的输 

出结果。输出重定向的符号是”>”和”>>”。例如: 

istory 15>fhile 

该命令将history 15的结果写入me。若原来不存在fle这 i

个文件’贝IJ新建该文件。若原来存在fde,则文件原有内容被覆 

盖.这将导致原数据的丢失。 

如果不想覆盖,则可以使用另一个输出重定向符”>>”.例 

如: 

history 15>>fle i

该命令将新内容附加到原fle文件内容的末尾.这样就不 i

会覆盖原有内容 

8、提示符 

bash有两级用户提示符。第一级是就是登录shell时所看到 

的。缺省的一级提示符是字符¥(如果是超级用户,则是静号)。可 

以通过重新对bash的ps1变量赋值.把bash shell的提示符改 

为指定的字符串 当bash期待输入更多的信息以完成命令时显 

示第二级提示符 缺省的第二级提示符是”>11可以通过设置ps2 

变量的值来改变第二级提示符。 

另外还可以用特殊字符来定义bash提示符:、!湿示该命令 

使一个运行的进程挂起.bg命令使一个被挂起的进程在后台恢 

复运行;反之 命令使进程在前台恢复运行;使用iobs命令能 

够查看到哪些进程在后台执行 

当一个命令在前台运行时,它会一直占用前台.直到该命令 

结束。一般情况下不会让用户等待很久。因为大多数命令很快就 

执行完了。但如果正在运行的命令要花费很长的时间。通常应把 

它放到后台。以便空出前台继续输入其他命令。 

10.用户化配置bash 

通常用户对bash的改动和配置都仅在当前运行的bash下 

才有效。一旦退出系统,所有的改动也随之消失了。为了永久保 

存这些用户化配置。必须把它们保存到一个bash的初始化文件 

里。bash的这个初始化文件叫做.proflf'e。这个文件里最常见到的 

命令是alis和变量的初始化。每个使用baash的用户都有一个. 

proifle文件在他的用户目录里。bash在每次启动时都读取这个 

文件.并执行所有包含的命令。 

结束语 

本文描述了bash的十大主要特性.其实bash还有其他一 

些强大功能。如:一行输入多个命令、一条命令可以分行写、特殊 

字符的处理、方便的sheⅡ编程等等。虽然bash有如此多的优 

点,但它也有占用内存大等不足之处。还需广大的Linux爱好 

者,充分发扬开源精神,对其不断的改进和完善。 

参考文献: 

1.Arrnan Danesh。MichadJang著,邱仲潘译.Red Hat Linux 7从入门到精 

通『 ̄I1.北京:电子工业出版社,2001,217-218 

的历史记录编号1;、I;f(显示当前命令的命令编号);、¥(显示¥符作为 

提示符,如果用户是root的话,则显示静号);、、(显示反斜杠);、d 

(显示当前日期1;、ll(显示主机名); (打印新行); nn(显示nnn的 

八进制值1 (显示当前运行的sheⅡ的名字);、t(显示当前时间); 

、tI(显示当前用户的用户名);、W(显示当前工作目录的名字);、w(显 

2.黄丽娜。管佩森。陈彩可.Ked Hat“nux 9.0基础教程Ⅱ .北京:清华大 

学出版.2004.108-109 

示当前工作目录的路径1。 

出版社.2004。119-123 

9、作业控制 

4.陈军,龙浩.RedHatLinux 7自学指南【M1.北京:国防工业出版社, 

作业控制是指在一个作业执行过程中.控制执行的状态。能 

2001.12 123 

把一个正在运行的进程挂起.稍后再恢复它的运行。按下Ctri—Z 

5.王琦.Bash技术详细说田.开放系统世界.2002(3) 

3.粱广民。王隆杰.Linux操作系统实用教程【I .西安:西安电子科技大学 

(上接第14页) 

候选车牌区域得出最终车牌区域。 

经过以上过程可以定位并分割车牌区域.效果如下: 

原始圈IP4 ̄) 五缓灰度圈 

3.结论 

本文提出了一种在HsV色彩空间下对车牌的定位分割方 

法。利用HSV色彩空间的特性和车牌区域的特征,通过构造五 

级灰度图.并逐一搜索五级灰度图转化的四幅二值化图象。 

对于每一个侯选区域充分利用车牌区域的象索密度、几何 

特征加以筛选得以定位和分割车牌区域。实验表明。该算法对 

154张不同环境、不同颜色的车牌进行定位和分割。正确率达到 

91%以上.达到较高实用指标。 

参考文献: 

1.tL ̄el C.Gonzalez Kichard E.Woods.数字图象处理(第二版).电子工 

量佳车牌区域

车牌 

 

五级灰度田 

业出版社,2006,224—272 

2.薛河儒.麻硕士.裴喜春.一种基于数学形态学度融合技术的彩色图像 

分割方法.中固图象图形学报,2006(12),1764-1768 

3.彭启民.贾云德.一种形态学彩色图象多尺度分割算法,中国图象困形 

学报。2006(s)。636—639 

4.王涛。胡事民。孙家广.基于颜色一空间特征的图像捡索.软件学报,2002 

(13)。2032—2036 

原蝻田拳(黄牌) 

5.Liu,Yangxing;Ikenaga,Takeshi;Goto,Sar ̄shi.o A Novel Hybrid Ap- 

proach of Color In埭ge Segmentation o Circuits and Sysum ̄s,2006.APC,- 

CAS 2006.I臌AsiaPaciifcConference on 

4—7 Dec.2006 P :c(s):1863—1866 

6.Ji锄一Fcng Xu;Shao—Fa Li;Mian-Shui Yu;Car license phte ̄

四幅=值化图象 

Olfl 

using colorand edgeinformation.Machine =arI1ing andCybernetics,2004. 

Proceedings of2004 International Conference on,Volume 6,26-29 Aug. 

2004 P (s):3904—3907 vo1.6 

7.周泽华。潘保昌,郑胜林,赵全友,甘艳芬.基于多颜色模型的车牌定 

位方法.微计算机信息.2007/23/1。283-285 


本文标签: 命令 输入 车牌 文件 用户