1. 特殊符号
| |
管道符,或者(正则) |
> |
输出重定向 |
>> |
输出追加重定向 |
< |
输入重定向 |
<< |
追加输入重定向 |
`` $() |
引用命令被执行后的结果 |
~ |
当前用户家目录 |
$ |
以。。。结尾(正则) |
^ |
以。。。开头(正则) |
* |
匹配全部字符,通配符 |
? |
任意一个字符,通配符 |
# |
注释 |
& |
让程序或脚本切换到后台执行 |
&& |
并且 同时成立 |
[] |
表示一个范围(正则,通配符) |
{} |
产生一个序列(通配符) |
. |
当前目录的硬链接 |
.. |
上级目录的硬链接 |
2. 通配符

符号 |
作用 |
* |
匹配任何字符串/文本,包括空字符串;代表任意字符(0个或多个) ls file |
? |
匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0 |
[abcd] |
匹配abcd中任何一个字符 |
[a-z] |
表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 |
{str1..str2} |
表示生成序列. 以逗号分隔,且不能有空格 |
[!abcd] |
或[^abcd]表示非,表示不匹配括号里面的任何一个字符 |
3. 转义字符
有时候,我们想让 通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 shell提供转义符有三种。
单引号:硬转义,其内部所有的shell 元字符、通配符都会被关掉。—俗称所见即所得
双引号:软转义,其内部只允许出现特定的shell 元字符:$用于参数替换 `(反单引号,esc键下面)用于命令替换
反斜杠:又叫转义,去除其后紧跟的元字符或通配符的特殊意义
4. 用法详解
4.1 ? 任何一个字符
4.2 [abcd]表示匹配中括号内任意一个字符就成立
4.3 {}生成序列
4.4 []用来找文件(匹配文件名)
4.5 利用 {} 来备份
4.6 [^abcd] !^表示非,取反
4.7 []与{}区别
- []只能用来找文件
- {} 用来找文件,或创造文件,生成序列
