常用的特殊符号
符号 | 说明 |
---|---|
# | 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) 和后面的换行作为输入提供给命令 |