万用字符与特殊符号
- 由于在 bash 当中常会使用到一些万用字符,与搭配特殊符号来将指令做更好的利用(例如最常提到的正规表示法 Regulare Express )!底下我们列出一些常用的万用字符与特殊符号:
符号
内容
*
万用字符,代表一个或多个字符(或数字)
?
万用字符,代表一个字母
#
批注,这个最常被使用在 script 当中,视为说明!
\
跳脱符号,将『特殊字符或万用字符』还原成一般字符
|
分隔两个管线命令的界定;
;
连续性命令的界定(注意!与管线命令并不相同)
~
使用者的家目录
$
亦即是变量之前需要加的变量取代值
&
将指令变成背景下工作
!
逻辑运算意义上的『非』 not 的意思!
/
路径分隔的符号
>, >>
输出导向,分别是『取代』与『累加』
'
单引号,不具有变量置换的功能
"
具有变量置换的功能!
` `
两个『 ` 』中间为可以先执行的指令!
( )
在中间为子 shell 的起始与结束
[ ]
在中间为字符的组合
{ }
在中间为命令区块的组合!
组合按键
执行结果
Ctrl + C
终止目前的命令
Ctrl + D
输入结束(EOF),例如邮件结束的时候;
Ctrl + M
就是 Enter 啦!
Ctrl + S
暂停屏幕的输出
Ctrl + Q
恢复屏幕的输出
Ctrl + U
在提示字符下,将整列命令删除
Ctrl + Z
『暂停』目前的命令
上面的万用字符当中,最常用的就属 *, ?, [] 及 ` 了!我们提几个简单的例子:
上面几个例子相当的有趣!尤其是最后面两个!需要注意的是, [ ] 里面代表只有一个字符,但是范围可以由 1-5 ,这样来说的话,那么我们如果允许只要档名里面含有至少一个大写字符时,就可以将档案 copy 出来的话,可以这样做: 很有趣吧?!此外,那个 `` 里面的指令会先被执行,也就是说:这些基本的功能需要特别来了解一下才行呦!
- cp *[A-Z]* /tmp
- 系统先执行 uname -r 找出输出的结果;
- 将结果累加在目录上面,来执行 cd 的功能!