通配符是bash操作环境中一个非常有用的功能,利用它我们处理数据就更加方便。
*:代表0个到无穷多个任意字符 ?: 代表一定有一个任意字符 []: 同样代表一定有一个在中括号内的字符(非任意字符) [-]: 若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的 [^]: 若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思
特殊字符
#: 注释,这个最常用在script中,视为说明.其后的数据均不执行 \: 转义符号,将特殊字符或通配符还原成一般字符 |: 分隔两个管线命令的界定 ;: 连续性命令的界定(注意,与管线命令并不相同) ~: 用户的主文件夹 $: 使用变量前导符 &: 将指令变成在背景下工作 !: 逻辑运算中的“非” /: 路径分隔符号 >,>>: 数据流重定向,输出导向,代表替换和累加 <,<<: 数据流重定向,输入导向 '': 单引号,不具有变量置换的功能 "": 具有变量置换的功能 ``: 两个“`”中间为可以先执行的指令 (): 中间为子shell的起始与结束 {}: 中间为命令块的组合
以上为bash环境中常见的特殊字符,理论上,我们的文件名尽量不要使用到上述的字符。
摘自:《鸟哥的私房菜》第三版 基础学习篇
Leave a Reply