常用的特殊符号
| 符号 | 说明 | 
|---|---|
| # | 1.表示注释;2.命令提示符 | 
| ~ | 表示用户主目录。切换到用户主目录下: cd ~,切换到用户主目录下的bin目录: cd ~/bin | 
| ~+ | 表示当前目录。切换到当前目录下wwwroot目录: cd ~+/wwwroot | 
| ~- | 表示上次的工作目录。切换到上次的工作目录: cd ~- | 
| ; | 在 shell 中,担任"连续指令"功能的符号就是"分号", 在命令与命令中间利用分号(;)来隔开,分号前 的命令执行完成(无论成功与否)后就会立刻接着 执行后面的命令。连续执行两次mkdir命令创建 目录: mkdir test1;mkdir test2; | 
| . | 1.代表当前目录;2.档案名称以 .开头,该档案属于隐藏文件 | 
| '' | 单引号,所见即所得,即输出单引号内容时会 将单引号内的所有内容都原样输出,被称之为强引用 | 
| "" | 双引号,输出双引号内的内容时,如果内容中有命令(要反引下) 、变量、转义符等,会先把变量、命令、转义字符解析出结果, 然后再输出最终内容,被称为弱引用 | 
| `` | 反引号,一般用于引用命令,执行的时候命令会被执行, 相当于$(),赋值和输出都要将命令用``引起来 | 
| \ | 1.放在特殊符号前,则该特殊符号的作用消失, 即将有特殊含义的字符还原成字符本意; 2. 放在命令语句的最末端,表示命令语句 连接下一行 | 
| | | 表示管道,连结上个指令的标准输出,做为下个指令的标准输入。 即将一个命令处理后得到的结果输出给下一个命令继续处理 | 
| & | 后台运行命令(守护程序),即 &符号放在完整指令的最后端,表示将该指令放入后台中工作。用法: 命令 &。特性:关闭当前终端窗口,程序仍在运行 | 
| $ | 1.变量前导符,用法: $变量,特性:调用变量,从而得到变量的值;2.普通用户的命令提示符 | 
| {} | 大括号,通常用来分离变量 | 
| () | 用括号将一串连续指令括起来,这种用法对 shell 来说,称为 指令群组。例子: (cd ~ ; vcgh=pwd;echo $vcgh),指令群组有一个特性,shell会以产生 subshell来执行这组指 令。因此,在其中所定义的变量,仅作用于指令群组本身 | 
| [] | 中括号,在通配符和正则表达式中,代表一定有 一个在中括号内的字符,例如:[abcd]代表一定 有一个字符,且是a、b、c、d这四个任何一个,即 匹配abcd中任何一个字符,abcd也可是其他任意 不连续字符 | 
| [-] | 在通配符和正则表达式中都表示范围,例如:[a-z], 匹配a到z之间的任意一个字符, a到z表示范围,字 符前后要连续, -表示范围的意思 | 
| [^] | 在通配符和正则表达式中都表示“非”之意如[^A-Z],表示非大写字符 | 
| - | 1.表示上一次的工作目录,例如: cd -,切换到上次的工作目录中;2.系统指令的选项符号 | 
| ** | 两个星号在运算时代表 “次方” 的意思,例如:sus=2**3,表示2的3次方得数8赋值给变量sus | 
| ? | 在通配符和正则表达式中表示匹配任意一个字符,但不包含 null | 
| * | 在通配符和正则表达式中表示匹配任意个字符 | 
| ! | 表示取反、非的意思,也可以用在通配符中,例如:[!abcd] | 
输出/输入重定向符号
| 符号 | 说明 | 
|---|---|
| 0 | 表示标准输入(stdin),配合<或<<使用,数据流从右向左 | 
| 1 | 表示标准输出(stdou),配合>或>>使用,数据流从左向右 | 
| 2 | 标准错误(stderr),配合>或>>使用,数据流从左向右 | 
| > | 也可以写成 1>,标准输出重定向,正常输出重定向到文件,会清空已有内容输出重定向,例如:命令 > file,把命令的 输出重定向到文件file中。如果file已经存在,则清空原有文件, 使用bash的noclobber选项可以防止复盖原有文件 | 
| < | 也可以写成 0<,标准输入重定向,数据从文件流向处理的命令,例如:命令 < file,命令从file读入 | 
| << | 也可以写成 0<<,追加输入重定向,追加内容到底部,数据从文件流向处理命令 | 
| >> | 也可以写成 1>>,标准输出追加重定向,将内容追加到文件底部,不清空已有内容。例如:命令 >> file,把命令 的输出重定向到文件file中,如果file已经存在,则把信息加 在原有文件后面 | 
| 2> | 错误输出重定向,将标准错误内容重 定向到文件,如文件存在内容则清空 | 
| 2>> | 错误输出追加重定向,将标准错误内容 追加到文件底部,不会清空已有内容 | 
| <<< | 例如:命令 <<< word ,把word(而不是文件word) 和后面的换行作为输入提供给命令 |