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
版权声明:本文标题:浅析Bash Shell的几大特性 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1719445919a736257.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论