Linux(入门基础):62---Linux通配符与特殊字符
一、通配符
1.包含以下
* | 代表0到无穷多个 |
? | 代表一定有一个任意字符 |
[] | 代表一定有一个在[]内的字符,非任意字符。例如[abcd]代表一定有一个字符,可能是a、b、c、d中任何一个 |
[ 编码1 - 编码2 ] | -连接的意思,代表在编码1和编码2之间的所有字符。例如[0-9]代表0和9之间的所有数字,因为数字的语系编码是连续的 |
[^] | 反向选择的意思。例如[^abc]代表一定有一个字符,只要是非a、b、c的其它字符就接受的意思 |
2.案例
- 查找/etc/下以cron开头的文件名
ll -d /etc/cron*
- 查找/etc/下文件名刚好是5个字符的文件
ll -d /etc/?????
- 查找/etc/下文件名包含数字的文件名
ll -d /etc/*[0-9]*
- 查找/etc/下非小写字母开头的文件名
ll -d /etc/[^a-z]*
二、特殊字符
# | 注释字符,通常用在脚本中 |
\ | 转义符 |
| | 管道(pipe) |
; | 连续命令执行分隔符 |
~ | 用户的家目录 |
$ | 使用变量前导符 |
& | 任务管理(job control),将命令变成后台任务 |
! | 逻辑运算符非的意思 |
/ | 路径分隔符 |
>、>> | 数据流重定向:输出定向,分别是[替换]和[累加] |
<、<< | 数据流重定向:输入定向 |
' ' | 单引号,不具有变量替换的功能($变为纯文本) |
" " | 具有变量替换功能 |
` ` | `为键盘最上方1键左侧的符号。两个``中间为可以先执行的命令,也可以使用$() |
( ) | 在中间为子shell的起始与结束 |
{ } | 在中间为命令区块的组合 |