目录
默认的组合键
Ctrl+C | 终止目前的命令 |
Ctrl+D | 输入结束(EOF),例如邮件结束 |
Ctrl+M | Enter |
Ctrl+S | 暂停屏幕输出 |
Ctrl+Q | 恢复屏幕输出 |
Ctrl+U | 在提示符下,将整行命令删除 |
Ctrl+Z | 暂停目前的命令 |
通配符
* | 代表0到无穷多个任意字符 | |
? | 代表一定有一个任意字符 | |
[] | 代表一定有一个在中括号内的字符(非任意字符) | [abcd]代表一定有abcd中任意一个字符 |
[-] | 代表在编码顺序内的所有字符 | [0-9]代表0-9之间的所有数字 |
[^] | 原向选择 | [^abc]代表一定有一个非abc的其他字符 |
特殊符号
# | 批注符号,常用于script中,视为说明,其后的数据均不执行 |
\ | 转义符号,将“特殊字符或通配符”还原成一般字符 |
| | 管道(pipe),分隔两个管道命令的界定 |
; | 连续命令执行分隔符,连续性命令的界定 |
~ | 用户的主文件夹 |
$ | 使用变量前导符,即是变量之前需要加的变量替代值 |
& | 作业控制(job control),将命令变成背景下工作 |
! | 逻辑“非(not)” |
/ | 目录符号,路径分隔的符号 |
>,>> | 数据流重定向,输出导向,分别是“替换”与“累加” |
<,<< | 数据流重定向,输入导向 |
' ' | 单引号,不具有变量置换功能 |
" " | 双引号,具有变量置换功能 |
` ` | 反单引号,两个“`”中间为可以先执行的命令,也可以使用$() |
( ) | 在中间为子shell的起始与结束 |
{ } | 在中间为命令块的组合 |
命令的顺序和条件执行
假设判断式:command1 && command2 || command3
cmd1 ; cmd2 | 顺序执行命令1,2 |
cmd1 && cmd2 | 若cmd1执行完毕且正确执行($?=0),则开始执行cmd2 若cmd1执行完毕且为错误($?!=0),则不执行cmd2 |
cmd1 || cmd2 | 若cmd1执行完毕且正确执行($?=0),则不执行cmd2 若cmd1执行完毕且为错误($?!=0),则开始执行cmd2 |
正则表达式的特殊符号
[:alnum:] | 英文大小写字符及数字,即0-9,A-Z,a-z |
[:alpha:] | 任何英文大小写字符,即A-Z,a-z |
[:blank:] | 空格键与[Tab]按键 |
[:cntrl:] | 键盘上面的控制按键,即包括CR,LF,Tab,Del等 |
[:digit:] | 数字,即0-9 |
[:graph:] | 除了空格键与[Tab]按键外的其他所有按键 |
[:lower:] | 小写字符,即a-z |
[:print:] | 任何可以打印出来的字符 |
[:punct:] | 标点符号(punctuation symbol),即" ' ? ! ; : # $ |
[:upper:] | 大写字符,即A-Z |
[:space:] | 任何会产生空白的字符,包括空格键,[Tab],CR等 |
[:xdigit:] | 十六进制的数学类型,包括0-9,A-F,a-f的数字与字符 |
. | 一定有一个任意字符 |
* | 重复前一个字符0到无穷多次 |
$ | 行尾字符 |