您的位置:首页 > 运维架构 > Shell

Linux的shell特殊字符

2016-11-08 22:07 274 查看
1、通配符

 通配符用于模式匹配,如文件名匹配,路径名搜索,字符串查找

  <1>一般通配符

①*星号:匹配任意字符的0次或多次出现,例如:“f*”可以匹配以f开头的任意字符串

②?问号:匹配任意一个字符,例如:“f?”可以匹配f1,fa,fb等,只代表后面的一位字符

③[字符组]:匹配该字符组所限定的任何一个字符,例如:f[abcd]可以匹配fa,fb,fc,fd也可
 以相同地表示为f[a-d]

④感叹号!

  <2>模式表达式

①*(模式表):匹配给定模式表中0次或多次出现的“模式”,各个模式之间用“|”分开,例如:
 file*(.c|.o)将匹配文件file.c,file,file.o,file.c.c,file.c.o,file.o.o,file.o.c等

②+模式:匹配给定模式表中一次或多次出现的“模式”,各个模式之间以“|”分开,例如:

 file+(.c|.o)匹配文件file.c,file.o,file.c.o,file.c.c等

③?(模式表):匹配模式表中任何一种0次或1次出现的“模式”,各个模式之间用“|”隔开,例
 如:file?(.c|.o)只匹配file,file.c和file.o

④@(模式表):仅匹配模式表中给定一次出现的“模式”,各模式之间以“|”隔开,例如:
 file@(.c|.o)匹配file.c和file.o

⑤!(模式表):除给定模式表中的一个“模式”w外,它可以匹配其他任何东西

注意:模式表达式的定义是递归的,每个表达式中都可以包含一个或多个模式

2、引号

①单引号:由单引号括起来的字符作为普通字符出现,包括特殊字符

②双引号:由双括号括起来的字符作为普通字符,除了:$表示变量替换,即用预先指定的变量值
 代替$和变量;倒引号`表示命令替换;反斜线\仅当其后的字符是$和`,以及\和换行符之一的时
 候,\才是转义字符

③倒引号`:倒引号括起来的字符串被shell解释为命令行,在执行时,shell会先执行该命令行,
 并以它的标准输出结果取代整个倒引号部分

3、输入/输出重定向符

①输入重定向符<:把命令或可执行程序的标准输入重新定向到指定文件

②输出重定向符>:把命令或可执行程序的标准输出重新定向到指定文件,该命令的输出不是显示在
 屏幕上,而是写入指定文件中

③输出附加定向符>>:把命令或可执行程序的输出附加到指定文件的后面,而该文件原有的内容不
 会被破坏,如果指定的文件不存在,就新建该文件

④即时文件定向符:由重新定向符<<、一对标记符以及若干输入行组成,把shell程序的输入行重
 新定向到一个命令

⑤与文件描述符有关的重定向
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息