通配符是由shell处理的, 它只会出现在 命令的“参数”里。当shell在“参数”中遇到了通配符时,shell会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。总之,通配符 实际上就是一种shell实现的路径扩展功能。在 通配符被处理后, shell会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令。
常见的通配符有:
| ? | 匹配一个字符 f?.txt |
| * | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
| {1..10} {0..9} | 1到10 |
| {a..z} | a b c ...z |
| {A..Z} | A B C .....Z |
| [123]([此处括号里值代表一个字符]) | 取其中之一有就显示没有也无所谓 |
| [a-z]单个小写字母 | 范围需要注意 |
| [0-9]单个数字 | 匹配数字范围(0123456789) |
| \ | 转义符,表示原来的意思 |
| [[:lower:]] | 小写字母表示 a-z |
| [[:upper:]] | 大写字母表示 A-Z |
| [^zhou] | 匹配列表中的所有字符以外的字符 |
| [[:digit:]] | 任意数字,相当于0-9 |
本文介绍了Shell中通配符的基本概念及其使用方法。常见的通配符包括星号(*)、问号(?)等,它们用于匹配文件名或路径中的字符。文章详细解释了每个通配符的含义,并给出了具体的例子。
1043

被折叠的 条评论
为什么被折叠?



