##特殊符号与正则表达式的区别
#()在awk/sed/grep中使用的特殊符号-->正则表达式
#()在命令行或脚本中使用的特殊符号-->以下特殊意义
##特殊符号(通配符)列表
< 0<  | 输入重定向 | mail -s 1091*****@qq.com </etc/hosts.txt ##将host.txt中的内容写入的邮件内容  | 
| > | 输出重定向 | |
| >> | 追加输出重定向 | 不覆盖之前的内容,在文档最后继续写入追加的内容 | 
| | | 管道 | 将前一个命令得到的结果,通过管道传给下一个命令作为参数使用 | 
| \ | 转义字符 | 让有特殊意义的字符去除特殊意义,例如"."(代表当前目录),“\.”则只代表".";例如"$"(代表以...结尾),"\$"即表示$本身 | 
| * | 匹配所有 | 即任意字符重复n次,类似正则中".*" | 
| ? | 匹配任意一个字符 | 类似正则中"." | 
| $ | 引用变量 | 正则中表示行尾 | 
| # | 注释符 | 一般为配置文件中注释,使该行不解释 | 
| ~ | 当前用户家目录 | |
| .和./ | 当前目录或隐藏文件 | 例如:ll -a /root/.bash_rc  | 
| ..和../ | 当前目录上一级目录 | cd . ##当前目录 cd .. ##返回当前目录的上一级目录 cd - ##返回上一次所在的目录  | 
| / | 根目录或路径分隔符 | |
| ; | 命令分隔符 | 两个命令在同一行执行,则用";"隔开 | 
| {} | (1)生成字符或字符序列 (2)find里面使用的意思是“前面命令的结果”  | (1)一般配合echo等命令使用,类似seq. mkdir /data/{3306,3307,3308}/data ##同时创建3306和3307、3308目录 mkdir stu{001..100} ##同时创建100个目录,stu001.stu002...stu100 echo {1..100} ##产生1 2 3...100的序列 (2)配合find -exec命令一起使用 find /et/ -type f -name "ssh.bak*" -exec rm -f {} \;  | 
| || | 或 | 只有前面的命令不能正确执行,才执行后面的命令 ech 12 >>/dev/null || echo 2  | 
| && | 且,与 | 只有当前面的命令执行成功后才执行后面的命令 echo && echo 1  | 
| `` | 两个反引号 (引用命令的参数)  | echo `date` | 
| ‘‘ | 两个单引号 (不具有变量置换功能)  | 输出所见所得,看到啥就输出啥 (只是对‘‘内的变量引用不能生效,但是特殊符号的意义保留)  | 
| "" | 两个双引号 (具有变量置换功能)  | 能够解析调用的变量输出 (若引用的内容中有‘‘,保持引用符号不同,需使用"",反之亦然)  | 
| ! | 调用最近一次使用的命令、参数或者取反 | !+数字 表示调出历史的第几条命令 !! 表示使用最近一次操作的命令 !+commond 表示调用最近一次使用该命令开头的命令 !$ 表示调用上一次使用的参数(变量) cat/etc/sysconfig/network-scripts/ifcfg-em1 cat !$ 显示同样的结果 "非”,取反:(!在哪个参数前面,即对该参数取反) find /home/jason/ ! -type f-name "a.sh" ##搜索不是文件类型,但是名字为a.sh find /home/jason/ -type f ! -name "a.sh" ##搜索文件名不为a.sh的文件 find取“或”"-o" find/home/jason/ -type f -name "a.sh" -o -name "b.sh" ##搜索文件名为a.sh或者b.sh的文件 find取“且”"-a" find/home/jason/ -type f -name "*a.sh" -a ctime -15 ##搜索包含a.sh的文件,并且该文件修改时  | 
原文地址:http://jschu.blog.51cto.com/5594807/1852772