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*

Linux(入门基础):62---Linux通配符与特殊字符

  • 查找/etc/下文件名刚好是5个字符的文件

ll  -d  /etc/?????

Linux(入门基础):62---Linux通配符与特殊字符

  • 查找/etc/下文件名包含数字的文件名

ll  -d  /etc/*[0-9]*

Linux(入门基础):62---Linux通配符与特殊字符

  • 查找/etc/下非小写字母开头的文件名

ll  -d  /etc/[^a-z]*

Linux(入门基础):62---Linux通配符与特殊字符

二、特殊字符

# 注释字符,通常用在脚本中
\ 转义符
| 管道(pipe)
; 连续命令执行分隔符
~ 用户的家目录
$ 使用变量前导符
& 任务管理(job  control),将命令变成后台任务
! 逻辑运算符非的意思
/ 路径分隔符
>、>> 数据流重定向:输出定向,分别是[替换]和[累加]
<、<< 数据流重定向:输入定向
' ' 单引号,不具有变量替换的功能($变为纯文本)
" " 具有变量替换功能
` ` `为键盘最上方1键左侧的符号。两个``中间为可以先执行的命令,也可以使用$()
(  ) 在中间为子shell的起始与结束
{  } 在中间为命令区块的组合