通配符与正则表达式的元字符代表的意义不一样。
通配符一般用于命令行bash环境,而linux正则表达式用于grep,sed,awk场景。
| 通配符 | 意义 |
|---|---|
| * | 代表0个到无穷多个任意字符 |
| ? | 代表一定有一个任意字符 |
| ; | 连续命令执行分隔符 |
| # | 配置文件注释 |
| | | 管道,分隔两个管道命令的界定 |
| ~ | 用户家目录 |
| - | 上一次的目录 |
| $ | 变量前需要加的符号 |
| / | 路径分隔符号 |
| > | 输出重定向,覆盖 |
| >> | 追加输出重定向,追加 |
| < | 输入重定向 |
| << | 追加输入重定向 |
| ‘ | 单引号,不具有变量置换功能,输出所见即所得 |
| “ | 双引号,具有变量置换功能,解析变量后输出 |
| ` | 反引号,两个“`”中间为可以先执行的命令 ,等价于$() |
| {} | 中间为命令区块组合或内容序列 |
| ! | 逻辑运算中的非 |
| && | 当前一个指令执行成功时,执行后一个指令 |
| || | 当前一个指令执行失败时,执行后一个指令 |
| .. | 上级目录 |
| . | 当前目录 |
实例
*的使用:
[root@ianLinux ~]# ls *.log
1.log 2.log 3.log install.log
?的使用:
[root@ianLinux ~]# ls ?.log
1.log 2.log 3.log
[root@ianLinux ~]# ls ???????.log
install.log
{}的使用:
[root@ianLinux ~]# echo {1..3}
1 2 3
反引号,单引号,双引号
[root@ianLinux ~]# echo `date`
2016年 09月 05日 星期一 20:33:29 CST
[root@ianLinux ~]# echo 'date'
date
[root@ianLinux ~]# echo "date"
date
[root@ianLinux ~]# echo "`date`"
2016年 09月 05日 星期一 20:34:35 CST
&&,||
[root@ianLinux ~]# ech && echo 1
-bash: ech: command not found
[root@ianLinux ~]# ech || echo 1
-bash: ech: command not found
1
[root@ianLinux ~]# echo 2&&echo 1
2
1
[root@ianLinux ~]# echo 2||echo 1
2
本文详细介绍了Linux环境中通配符的使用方法及其与正则表达式的区别。通过具体的实例展示了如何利用通配符进行文件名匹配,包括星号(*)、问号(?)等特殊字符的应用场景。
1274

被折叠的 条评论
为什么被折叠?



