通配符与特殊符号

通配符是bash操作环境中一个非常有用的功能,利用它我们处理数据就更加方便。

*:代表0个到无穷多个任意字符
?: 代表一定有一个任意字符
[]: 同样代表一定有一个在中括号内的字符(非任意字符)
[-]: 若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的
[^]: 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思

特殊字符

#: 注释,这个最常用在script中,视为说明.其后的数据均不执行
\: 转义符号,将特殊字符或通配符还原成一般字符
|: 分隔两个管线命令的界定
;: 连续性命令的界定(注意,与管线命令并不相同)
~: 用户的主文件夹
$: 使用变量前导符
&: 将指令变成在背景下工作
!: 逻辑运算中的“非”
/: 路径分隔符号
>,>>: 数据流重定向,输出导向,代表替换和累加
<,<<: 数据流重定向,输入导向
'': 单引号,不具有变量置换的功能
"": 具有变量置换的功能
``: 两个“`”中间为可以先执行的指令
(): 中间为子shell的起始与结束
{}: 中间为命令块的组合

以上为bash环境中常见的特殊字符,理论上,我们的文件名尽量不要使用到上述的字符。

摘自:《鸟哥的私房菜》第三版 基础学习篇

发表评论

电子邮件地址不会被公开。 必填项已用*标注