bash通配符与特殊符号

bash 是一个为GNU计划编写的Unix shell。bash是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上。


符号       意义

*          代表0个到无穷多个任意字符
?          代表一定有一个任意字符
[]         代表一定有一个在括号内的字符(非任意字符)。例如 [abcd] 代表一定有一个字符, 可能是 a, b, c, d 这四个任何一个
[-]        若有减号在中括号内时,代表在编码顺序内的所有字符。例如 [0-9] 代表 0到9之间的所有数字,因为数字的语系编码是连续的!
[^]        若中括号内的第一个字符为指数符号 (^) ,那表示反向选择,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c的其他字符就接受的意思。


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


符号     内容

#        批注符号:这个最常被使用在 script 当中,视为说明!在后的数据均不执行
       跳脱符号:将『特殊字符或通配符』还原成一般字符
|        管线 (pipe):分隔两个管线命令的界定
;        连续指令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同)

~        用户的家目录
$        取用变数前导符
&        工作控刢 (job control):将指令变成背景下工作
!        逡辑运算意义上的『非』 not的意思!
/        目录符号:路径分隔的符号
>, >>    数据流重导向:输出导向,分别是『取代』与『累加』
<, <<    数据流重导向:输入导向,< 将原本需要由键盘输入的数据改由档案内容来取代,<< 代表结束的输入字符
 
' '      单引号,不具有变量置换的功能
" "      具有变量置换的功能
` `      两个『 ` 』中间为可以先执行的命令,亦可使用 $( )
( )      在中间为子 shell 的起始与结束
{ }      在中间为命令区块的组合


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

数据流重导向:

1. 标准输入 (stdin) :代码为 0 ,使用 < 或 << ;
2. 标准输出 (stdout):代码为 1 ,使用 > 或 >> ;
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;


stdout和stderr同时写到一个文件中可用 &>


例: cat >> /etc/yum.repos.d/rhel-source.repo << EOF

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

命令别名设定: alias, unalias

例: alias lm='ls -al | more'

原文地址:https://www.cnblogs.com/coderkl/p/4320327.html