1.bash中的通配符 ###删除tmp目录中的所有文件[root@wenhaijin apache-tomcat-8.5.9]# cd /tmp[root@wenhaijin tmp]# rm -
1.bash中的通配符
###删除tmp目录中的所有文件[root@wenhaijin apache-tomcat-8.5.9]# cd /tmp[root@wenhaijin tmp]# rm -rf *###创建几个文件来演示通配符效果[root@wenhaijin tmp]# touch abc[root@wenhaijin tmp]# touch abcd[root@wenhaijin tmp]# touch 012[root@wenhaijin tmp]# touch 0abc[root@wenhaijin tmp]# ls012 0abc abc abcd###"*"匹配任意字符,以abc结尾[root@wenhaijin tmp]# ls *abc0abc abc###匹配包含abc的文件[root@wenhaijin tmp]# ls *abc*0abc abc abcd###"?"匹配单个字符[root@wenhaijin tmp]# ls ?abc0abc###匹配以abc结尾,且前面有且只有一个数字打头的文件[root@wenhaijin tmp]# ls [0-9]abc0abc###匹配以abc结尾,且前面有且只有一个非数字类型字符的文件[root@wenhaijin tmp]# ls [^0-9]abcls: cannot access [^0-9]abc: No such file or directory[root@wenhaijin tmp]# touch fabc[root@wenhaijin tmp]# ls [^0-9]abcfabc
2.bash中的其他特殊符号
###使用$符号引用变量(定义变量的时候=两边不能加空格,否则会报错)[root@wenhaijin tmp]# name=wenhaijin[root@wenhaijin tmp]# echo $namewenhaijin###单引号中的特殊字符没有特殊含义,bash会将其原封不动地输出[root@wenhaijin tmp]# echo '$name'$name###双引号中的特殊字符具有特殊含义[root@wenhaijin tmp]# echo "$name"wenhaijin###bash会将反引号(esc下方的按键)中的内容当做命令来执行[root@wenhaijin tmp]# abc=date[root@wenhaijin tmp]# echo `abc`-bash: abc: command not found[root@wenhaijin tmp]# echo `$abc`Sat Apr 8 17:12:22 CST 2017[root@wenhaijin tmp]####由于反引号很容易被看成单引号,所以可以用$()来等价替换单引号[root@wenhaijin tmp]# abc=$(date)[root@wenhaijin tmp]# echo $abcSat Apr 8 17:14:05 CST 2017###转移符'/'的作用是使跟在/后面的特殊符号失去特殊含义[root@wenhaijin tmp]# name=wenhaijin[root@wenhaijin tmp]# echo $namewenhaijin[root@wenhaijin tmp]# echo /$name$name