含义:匹配任意字符
例如:a*c
a与c之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcc, axyzc, a012c 等等
ls /opt/a*b
abc addc .....
含义:匹配任意一个字符
例如:a?c
a与c之间只能匹配一个长度字符, 也可以一个也没有, 如abc, adc, aec, a_c。
ls /opt/a?c
abc adc .....
含义:在小括号内执行shell命令,这个执行用的是子shell,等于又启用了一个shell,这样就不会影响原来的shell环境。
例如:子shell 执行 (umask :0000) ,而环境的shell的 umask 依然是 :0022
含义:匹配中括号内任意一个字符
例如: a[xyz]c
a与c之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axc, ayc, azc。c。
**ps:**如果加一个!
就是取反的意思
ls /opt/a[xyz]
axc ayc azc
ls /opt/a[!xy]
azc
含义:取大括号内的集合
例如:{string1,string2,...}
匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b a与b之间只 能是abc或xyz或123这三个字符串之一。
ls /opt/a{
abc,xyz}b
aabcb axyzb
拷贝相同路径文件时:
cp /opt/abc/123.txt /opt/abc/456.txt
可以用大括号省去路径,改成:
cp /opt/abc/{
123.txt,456.txt}
含义:转义符,可以分换字符原来的本意
例如:\n
n就不在是“n” 就变成了换行 \*
" * " 就在是通配符 而代表普通的 * 号
echo -e "anc"
anc
echo -e "a\nc"
a
c